Tag: swing

如何制作圆角矩形JTextField?

我想制作一个圆形矩形JTextField。 我写了一个AbstractBorder子类来实现它。但是我遇到了一些问题。 我的要求是: 我得到的是: 我的代码是: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.AbstractBorder; import javax.swing.border.EmptyBorder; public class JTextFieldTest { JTextField textField; boolean activate = false; public void createUI(){ JFrame frame = new JFrame(“Test […]

JavaFX应该取代Swing吗?

我习惯了Swing编程并且听说过JavaFX。 是否应该将Swing替换为在Java中编写桌面应用程序的首选平台? 换句话说,我应该为我的新项目选择JavaFX吗?

JCombobox – 仅在值更改时执行actionlistener

我有一个JComboBox ,我有一个监听器附加到它。 现在,每当用户从下拉列表中“选择”事件时,即使他们刚刚重新选择之前选择的值,也会触发事件。 如果combobox的选定值与选择之前的值不同,有没有办法只触发事件? 我想我可以将combobox的值存储在不同的字段中,并在每次事件触发时对它进行比较,这看起来有点矫枉过正。 我有20个左右这样的combobox。 我宁愿不再有20个变量来存储值,所以事件不会触发。 一定有更好的方法。 谢谢您的帮助!

如何在JLabel中调整Image / IconImage的大小?

这是我的代码: String s = “/Applications/Asphalt6.app”; JFileChooser chooser = new JFileChooser(); File file = new File(s); Icon icon = chooser.getIcon(file); // show the icon JLabel ficon = new JLabel(s, icon, SwingConstants.LEFT); 现在,从图标中提取的图像非常小。 我该如何resize?

用Java显示TIFF图像

有人可以告诉我如何在Java中加载多页TIFF图像并在JScrollPane中显示它? 我可以使用哪个class级?

阻止JTree中节点扩展的节点选择

我创建了一个JTree ,其中一些节点是自定义的,以显示它们是可扩展的,尽管它们还没有任何子节点。 我已经按照这个线程来实现它。 为什么? 我想要动态加载树,所以当树扩展时,我从服务器检索更多信息并在树上显示它。 我遇到的问题是,当我展开其中一个节点时,它会被选中,这不是默认节点的默认行为(您可以在不更改树选择的情况下展开它们)。 如何解决这个问题以防止此节点在扩展时被选中?

当许多精灵在屏幕上时,Java Swing游戏的性能很差

我正在Swing中制作一个简单的塔防游戏,当我尝试在屏幕上放置许多精灵(超过20个)时,我遇到了性能问题。 整个游戏发生在具有setIgnoreRepaint(true)的JPanel上。 这是paintComponent方法(con是Controller): public void paintComponent(Graphics g){ super.paintComponent(g); //Draw grid g.drawImage(background, 0, 0, null); if (con != null){ //Draw towers for (Tower t : con.getTowerList()){ t.paintTower(g); } //Draw targets if (con.getTargets().size() != 0){ for (Target t : con.getTargets()){ t.paintTarget(g); } //Draw shots for (Shot s : con.getShots()){ s.paintShot(g); } } } } Target类simple在其当前位置绘制BufferedImage。 getImage方法不会创建新的BufferedImage,它只返回Controller类的实例: public […]

如何使JTextComponent的插入符号跳过所选文本?

许多环境中本机文本字段的正常行为如下: 带有文本“abcdefg”的文本字段。 我用鼠标从左到右选择“efg”。 插入符号现在落后于“g”。 当我通过按左光标键一次将插入符号向左移动时,删除选择并且插入符号在“e”之前。 当我在JTextField或JTextArea(在Mac OS上测试)中执行相同操作时,完成相同的操作会导致插入符号在“g”之前。 我知道如何通过使用KeyListener并在每个组件上注册它来以编程方式更改它,但我正在寻找一种方法来更改我的整个应用程序。 那可能吗? 有没有国旗,我找不到或者我必须破解我的外观和感觉? 谢谢

初学者挥动递归

第一次在这里发帖 这个编程任务让我难以接受,代码如下: import java.awt.*; import javax.swing.*; public class HTree extends JPanel { private Color color = new Color((int)(Math.random() * 256), (int)(Math.random() * 256), (int)(Math.random() * 256)); public void draw(Graphics g, int n, double sz, double x, double y) { if (n == 0) return; double x0 = x – sz/2, x1 = x + sz/2; […]

Java Swing – 获取鼠标hover的对象

我有一个JList,想要更改工具提示,具体取决于鼠标hover的条目。 我尝试在谷歌搜索我的问题,但没有成功。 基本上我需要得到我正在徘徊的对象。 感谢每一位帮助