我想基于actionCommand(/特定jradiobutton的名称)在一个buttongroup中设置一个特定的jradiobutton。 它可以做到usind .setSelected(true) 例如, JRadioButton rabbitButton = new JRadioButton(“rabbit”); rabbitButton .setActionCommand(“rabbit”); JRadioButton pigButton = new JRadioButton(“pig”); pigButton .setActionCommand(“pig”); ButtonGroup group = new ButtonGroup(); group.add(rabbitButton); group.add(pigButton); 现在..没有, {rabbitButton.setSelected(true);} NOR {group.setSelected(rabbitButton.getModel,true)} 有没有办法根据动作命令()设置setSelected(true)rabbitButton?
我正在尝试考虑最好的布局管理器来实现下图。 我知道绝对定位是我习惯的,但我无法使用它获得背景图像。 GridBagLayout非常好,但是当我尝试为每个网格获得单独的图像时,我会非常努力。 有没有人知道一个简单的方法,或简单的代码来实现以下目的?
我已经覆盖了扩展JToggleButton的paintComponent方法,以便在切换按钮时可以使用TexturePaint填充文本。 我遇到的问题是我似乎无法使用与我的外观相同的字体来绘制文本作为默认设置。 我试过g2d.setFont(this.getFont()); ,“这个”是我正在使用的按钮。 字体很接近,但在绘制时看起来比默认文本更大胆。 是否有更好的方法来绘制文本,使其看起来与默认相同,除了颜色? 提前致谢!
我以为我可以使用键盘键的字符串表示来配置快捷方式,即让某人在资源包中定义键击并将该值直接传递给javax.swing.KeyStroke.getKeyStroke(String) 。 但这对国际键盘不起作用,例如阿拉伯语。 键盘键只有高级键输入事件,但需要将快捷键定义为具有键代码表示的低级键按下事件。 如果一个人知道相应的密钥代码,就可以使用该密钥的英文表示来使其工作,但是应该从哪里知道这个? 我写了一个关键的监听器,告诉我,但是我在编程时解析一个String需要一些东西。 任何使用自然语言相关键表示的快捷方式的想法? import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.AbstractAction; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; public class InternationalKeyStroke { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); frame.setPreferredSize(new Dimension(600, 400)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); […]
我正在使用带有几个ColorHighlighters的JXTreeTable来更改包含特定值的行的背景颜色。 如果选择了一行,颜色将更改为SelectionBackground。 是否可以在没有完整的新渲染器的情况下根据谓词或颜色荧光笔更改选择背景颜色? 编辑:如果选择了一行并具有突出显示,则应该是另一种背景颜色,而不是突出显示的行。 SSCCE package testing; import java.awt.Color; import java.awt.Component; import javax.swing.JFrame; import javax.swing.JScrollPane; import org.jdesktop.swingx.JXTreeTable; import org.jdesktop.swingx.decorator.ColorHighlighter; import org.jdesktop.swingx.decorator.ComponentAdapter; import org.jdesktop.swingx.decorator.HighlightPredicate; import org.jdesktop.swingx.treetable.AbstractMutableTreeTableNode; import org.jdesktop.swingx.treetable.DefaultTreeTableModel; public class JXTreeTableDemo extends JFrame { public static void main(String[] args) { JXTreeTableDemo gui = new JXTreeTableDemo(); // get root node and 20 child nodes ArrayNode root = […]
我有一个快速的谷歌,我似乎无法找到一个很好的解决方案,主要是因为我不知道如何描述它。 本质上,我需要在JTextArea显示任意数量的hex字符,并且我希望它们间隔均匀,并且字符的顶部和左侧显示字符的位置。 这是我想要实现的一个例子,这是hex查看器WinHex。 我一直在玩转换一个字节数组到一个字符串,然后文本包装它,但我有一些奇怪的结果。 任何关于如何实现类似的东西的建议都将受到赞赏。 我考虑的另一个选择是使用JTable,但我想知道这是否会使问题稍微复杂化。 也许。 谢谢
我有一个类要求输入用户名和密码来validation应用程序中的用户。 在其中,我有2个JTextField对象,一个用于用户名输入,另一个用于密码输入。 JTextField userNameTextField = new JTextField(20); JTextField pswdTextField = new JTextField(20); 它工作正常但我的问题是,当用户在pswdTextField中写入密码时,密码会显示在其中。 我想通过在构成插入密码的每个字母上显示一个点,星号或类似物来隐藏它。 这是怎么做到的?
所以,我正在尝试制作一个程序,你可以通过滑块输入二次公式(ax ^ 2 + bx + c)。 然后在调整A,B和C时绘制图形。 问题: 我想要用超级油漆写的东西和滑块在一个地方。 当我运行滑块时,滑块就位。 有正确背景的空间我希望我的图表在面板中但没有实际的图形。 这是我的驱动程序类: import java.awt.*; import javax.swing.*; public class quadraticslider { public static void main (String[] args) { JFrame frame = new JFrame (“Quadratic Slider”); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new pp109quadraticpanel()); frame.pack(); frame.setVisible(true); } } 这是小组类: import java.awt.*; import javax.swing.*; import javax.swing.event.*; public class quadraticpanel extends JPanel […]
可能重复: Java“双支撑初始化”的效率? new Class(…){{…}}初始化习语的含义 假设我通过以下方式创建了一个JMenu Bar: JMenuItem saveMenuItem = new JMenuItem(“Save”) {{ addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String location = GUI.Custom.QuickDialogs.selectFile(false); try { PrintWriter pw = new PrintWriter(new File(location)); String text = textArea.getText(); pw.println(text); pw.flush(); pw.close(); } catch(Exception ex) { textArea.append(“Could not save this debug output”); } } }); }}; JMenu optionsMenu […]
我有Java JPanels的问题。 我想把两个不同布局的JPanel放到一个JPanel中,它也有一个布局。 是否有可能使它工作? BibP() setLayout(new GridLayout(5, 1)); //The big JPanel add(new A(), new FlowLayout(4)); add(new B(), new GridLayout(7,2)); A和B都是类扩展为JPanels,无论我改变或评论B总是出现在1行。 我有4个元素添加到A和14到B(JLabels和JTextAreas),并且它们中只有添加和一些计算的代码不多。 问题可能出在JFrame中,我试图将大型JPanel放入其中。 JFrame.this.add(new BigP(),BorderLayout.CENTER); 编辑: public class BigP extends JPanel{ //Labels and TextAres public class A extends JPanel{ public A(){ setBorder(new EmptyBorder(0, -50, 0, 0)); //get date and add to textareas //add the label and […]