【问题标题】:Drawing a text field without the use of JTextField etc在不使用 JTextField 等的情况下绘制文本字段
【发布时间】:2013-07-20 14:47:22
【问题描述】:

我正在为我正在开发的游戏制作一个启动器,我使用 Graphics2D 来渲染按钮、gui 等。现在我已经使用 Canvas 扩展了执行此操作的类 (Launcher.java)。这意味着我不能使用 JTextFields(而且它看起来很丑)。所以我的问题是,如何在不使用 JTextField 的情况下制作文本字段,这意味着渲染它,获取键输入显示输入。 谢谢。

【问题讨论】:

    标签: java swing user-interface jtextfield


    【解决方案1】:

    您说:我正在为我正在开发的游戏制作启动器,我使用 Graphics2D 来渲染按钮、gui 等。

    您似乎在重新发明轮子。为什么不改用或创建效果良好的外观。

    您说:现在我已经使用 Canvas 扩展了执行此操作的类 (Launcher.java)。

    通过提交 AWT 组件,您不必要地限制了您可以做的事情。为什么不坚持使用 Swing 组件?

    你说:这意味着我不能使用 JTextFields

    如果你坚持使用 Swing,你可以。

    你说:(而且它看起来很丑)。

    没有图片,这点很难讨论。

    您说:所以我的问题是,如何在不使用 JTextField 的情况下制作文本字段,这意味着渲染它,获取键输入显示输入。

    再说一遍,为什么要重新发明轮子?使用包括 JTextFields 在内的 Swing 组件,避免使用 AWT,如果您仍然觉得 GUI 很丑,请考虑发布图像和一个我们可以处理的可编译和可运行的小程序,直接向我们展示您的问题。

    【讨论】:

    • 我将如何渲染其他图像?我会扩展什么组件或创建一个实例?
    • @user2588174 JLabel 可以开箱即用地渲染图像。如果这不能满足您的需求,您可以扩展 JPanel 之类的内容并覆盖它的 paintComponent 方法,以按照您想要的方式呈现您想要的所有图像
    • @user2588174:正如疯狂所说。 AWT 不能做 Swing 不能做的任何事情,但 Swing 肯定能做的不仅仅是 AWT。使用 JLabels 做罐头图,或者扩展 JPanel 并在paintComponent 方法中绘制动画,可能性是无限的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    相关资源
    最近更新 更多