在我的三键鼠标MouseEvent.BUTTON2=中键单击和MouseEvent.BUTTON3=右键单击.
这是两键鼠标的情况吗?
谢谢
如何获得JPanel所在的JFrame?
我目前的解决方案是询问面板的父级(依此类推),直到找到一个Window:
Container parent = this; // this is a JPanel
do {
parent = parent.getParent();
} while (!(parent instanceof Window) && parent != null);
if (parent != null) {
// found a parent Window
}
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方式,标准库中的方法可能是?
我在JScrollPane上嵌入了一个JTextArea,并使用该JTextArea进行输出.
我想,只要在输出中超出的JTextArea的大小,JTextArea中自动滚动,这样用户就不必做手工向下滚动查看最近的输出.
我怎样才能做到这一点?
我已经将JTextArea和JScrollPane的autoscroll属性设置为true.
有没有办法创建多个输入JOptionPane.showInputDialog而不是只有一个输入?
ActionListener和ItemListener都用于使用JCheckBox触发事件?
那么,它们之间有什么区别呢?在这种情况下,其中一个比另一个更受欢迎?
定期询问类似的问题,但其中许多答案已经过时.
我需要用Java构建一个跨平台的桌面应用程序,其GUI与当代桌面应用程序的质量相当.
Swing是默认选择,但是我还没有遇到一个Swing应用程序,它至少看起来不太过时和笨重(主观,我知道,但是使用GUI很难避免审美判断).
我注意到新的比特币客户端现在使用带有Java绑定的QT,并且确实具有吸引人的用户界面,但这样做的缺点是它不再是纯Java.
当我搜索与Swing相关的库时,我发现的大部分内容都是5岁或更大,尽管桌面应用程序的美学从那时起已经有了很大的发展.
如果您需要从头开始构建Java桌面应用程序,那么它将用于GUI?
什么是用于定义之间的真正区别setXxx(Color.red)和setXxx(Color.RED)?
我在网上找到了以下解释.这是关于命名约定的吗?
Java最初以小写形式定义了一些颜色常量名称,这违反了使用大写字母表示常量的命名规则.它们适用于所有版本的Java:Color.black,Color.darkGray,Color.gray,Color.lightGray,Color.white,Color.magenta,Color.red,Color.pink,Color.orange,Color.yellow,Color .green,Color.cyan,Color.blue
Java 1.4为常量添加了正确的大写名称:Color.BLACK,Color.DARK_GRAY,Color.GRAY,Color.LIGHT_GRAY,Color.WHITE,Color.MAGENTA,Color.RED,Color.PINK,Color.ORANGE,Color.YELLOW, Color.GREEN,Color.CYAN,Color.BLUE
我在JFrame上有一个按钮,当单击时我想要一个弹出的对话框,其中有多个文本区域供用户输入.我一直在四处寻找如何做到这一点,但我一直在变得更加困惑.有人可以帮忙吗?
我需要检测所选标签何时更改,并获取其索引.
以下代码有效,但它会触发println当前加载的选项卡数量的次数:
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
System.out.println("Tab: " + tabbedPane.getSelectedIndex());
// Prints the string 3 times if there are 3 tabs etc
}
});
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?先感谢您.
我正在创建一个JFrame,我称之为方法setSize(500, 500).现在,期望的行为是用户不应在任何条件下调整JFrame的大小.通过最大化或拖动边框.它应该是500x500.我该怎么做?我还附上了代码,以防你可以更好地指导我.
package com.techpapa;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MainWindow extends JFrame{
private JTextField
write;
private JRadioButton
rb1,
rb2,
rb3;
private ButtonGroup
bg;
private ActionListener al = new ActionListener(){
public void actionPerformed(ActionEvent e){
write.setText("JRadioButton : " + ((JRadioButton)e.getSource()).getText());
}
};
public MainWindow(){
//Frame Initialization
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
setTitle(".:JRadioButton:.");
setVisible(true);
//Components Initialization
write = new JTextField(20);
write.setEditable(false);
rb1 = new JRadioButton("Male", false);
rb1.addActionListener(al);
rb2 = new JRadioButton("Female", false);
rb2.addActionListener(al);
rb3 = new JRadioButton("I …Run Code Online (Sandbox Code Playgroud) java ×10
swing ×9
jframe ×3
joptionpane ×2
colors ×1
itemlistener ×1
jcheckbox ×1
jdialog ×1
jscrollpane ×1
jtabbedpane ×1
jtextarea ×1
mouse ×1
resizable ×1
right-click ×1
swingx ×1