Tag: swing

动态更改JDialog的宽度

我创建了一个包含JLabel的JDialog。 因为基于用户输入而改变的文本长度可以包含大量字符,所以需要根据JDialog的长度大小动态地改变JDialog的长度。 我尝试过pack()方法,但事实并非如此。 谁能给我一些提示? 提前致谢!

如何将我的JTable中第一行的颜色设置为黄色(或任何颜色)?

我可以将一列设置为黄色但我无法将行设置为黄色。 以下代码用于列: TableColumn col = mytable.getColumnModel().getColumn(0); col.setCellRenderer(new MyTableCellRenderer()); 请问我怎么连续做? 我已经在网上尝试了教程和示例,但它总是将整个表格描绘成黄色而不是仅仅一行。 谢谢

如果用户点击IE窗格,IE中的modal dialog将隐藏在IE后面

我必须编写一个带有密码对话框的applet。 问题是对话框总是在顶部,但是当用户点击IE窗口时,对话框仍隐藏在IE窗口后面。 并且由于对话框是模态的并且保存所有 IE线程,因此IE窗格不会刷新,并且对话框窗口仍然绘制在IE之上(但不刷新)。 这种行为使用户感到困惑(他们看到 IE上面的对话框,但看起来它已被绞死,因为它没有刷新)。 所以我需要一种方法来保持对话在所有事情之上。 但是这个问题的任何其他解决方案都会很好。 这是代码: PassDialog dialog = new PassDialog(parent); /* do some non gui related initialization */ dialog.pack(); dialog.setLocationRelativeTo(null); dialog.setAlwaysOnTop(true); dialog.setVisible(true); 解决方案:正如@shemnon所说,我应该创建一个窗口而不是(null,Frame,Applet)modal dialog的父级。 初始化父母的好方法是: parent = javax.swing.SwingUtilities.getWindowAncestor(theApplet);

如何避免mouseExited在任何嵌套组件上触发

在我的代码中我有: 一个扩展JComponent的抽象类,它包含一些JTextField。 JTextFields不可编辑。 JComponent类实现MouseListener: – 当mouseEntered事件触发时,会向其添加边框。 – 当mouseExited事件触发边框时被删除。 – 当mouseClicked事件触发时,该组件的所有字段都设置为可编辑。 这应该以这种方式工作: 用户想要编辑字段。 他将鼠标hover在jComponent的任何一点上 在jComponent上绘制边框以突出显示它 用户单击和mouseClicked方法触发其中的东西。 问题是:当鼠标在任何JTextField上移动时,mouseExited会触发。 你会如何解决这个问题? 接下来是一个简单的类,它将向您展示一个窗口,其中包含一个jTextField,该窗口包含一个实现MouseListener的面板,其方式与上述方法非常类似。 不要考虑它是如何写的,它只是为了目的! public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run(){ int i=0; //mainWindow JFrame mainWindow = new JFrame(“MyFrame”); mainWindow.setLayout(new BorderLayout()); mainWindow.setMinimumSize(new Dimension(200,200)); JPanel viewPort = new JPanel(); final JTextField text = new JTextField(“SOME_RANDOM_TEXT”); text.setEditable(false); […]

Java Swing:JWindow出现在所有其他进程窗口后面,并且不会消失

我正在使用JWindow在应用程序启动期间显示我的启动画面。 但它不会出现在所有窗口的前面,它也不会消失。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JWindow; public class MySplash { public static MySplash INSTANCE; private static JWindow jw; public MySplash(){ createSplash(); } private void createSplash() { jw = new JWindow(); JPanel content = (JPanel) jw.getContentPane(); content.setBackground(Color.white); // Set the […]

为按钮创建键盘快捷键

我有一个JTable ,它有一个删除按钮来删除它的行。 我想创建一个快捷方式,例如当用户选择一行并按下键盘上的“删除”按钮时,该行应该被删除。 我的JButton1完全删除了我的JButton1 。 if (e.getSource() == KeyEvent.VK_DELETE) { // Delete row Method } 但它不起作用。

Java Swing设计指南

我编写了一个使用Swing for GUI的应用程序,通过GUI接受文件,解析Input,将其保存在DataList并将其发送到服务器。 我关心我的程序的整个设计,我认为这不是很好。 我正在使用Netbeans来设计GUI,并有一个MainClass类,它启动该GUI并具有GUI的静态引用。 还有一些ExecClasses执行上述解析和发送数据。 + ———————- + | MainClass(静态)| | ———————- | + —— + -DataList + —– + | | | | 静态| + – + ————– + —– + |静态 参考| | |引用 | | new()| new()| | | | | | | | | + – + ——– v —- […]

绝对定位(无布局管理器)与MiGlayout中的绝对定位

当使用MiGlayout中的绝对定位作为布局管理器而不使用布局管理器(将布局管理器设置为空)时,最终应用程序结果是否会在不同平台和分辨率等方面相同? MiGlayout解决方案中的绝对定位与无布局管理器解决方案之间是否存在差异?

Java GUI自动resize

这是绘制GUI的地方(注意,该类扩展了JFrame)。 public Cache() { SubstanceColorChooserUI col = new SubstanceColorChooserUI(); while (mode == 0); setResizable(false); setTitle(“Cache”); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 483, 374); setLocationRelativeTo(null); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(new BorderLayout()); textField = new JTextField(); textField.setBounds(10, 11, 328, 20); contentPane.add(textField); textField.setColumns(10); JButton btnLoadCache = new JButton(“Load cache”); btnLoadCache.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent […]

为什么我不能将JPanel添加到JFrame?

这是代码: import javax.swing.SwingUtilities; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import java.awt.event.*; import java.awt.*; public class GameWindow { private String[] players; private JFrame frame; // Constructor. public GameWindow(String[] players) { this.players = players; } // Start the window in the EDT. public void start() { SwingUtilities.invokeLater(new Runnable() { public void run() { showWindow(); controller.start(); } }); […]