这是我的代码,当我执行时,我得到的只是一个空白窗口。首先,当我尝试执行main.setContentPane()
时,我得到了这个错误:
“无法对非静态字段面板进行静态引用”
所以我把它放在构造器中,但什么都不会显示。
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainFrame extends JFrame{
private JPanel panel;
private JButton performance;
private JButton concordance;
private JButton discordance;
private JButton resultat;
public void MainFrame() {
panel = new JPanel(new GridLayout(4, 1, 10, 10));
performance = new JButton("performance");
concordance = new JButton("concordance");
discordance = new JButton("discordance");
resultat = new JButton("resultat");
performance.setSize(50, 30);
concordance.setSize(50, 30);
discordance.setSize(50, 30);
resultat.setSize(50, 30);
panel.add(performance);
panel.add(concordance);
panel.add(discordance);
panel.add(resultat);
getContentPane().add(panel);
}
public static void main(String[] args) {
MainFrame main = new MainFrame();
main.setSize(300, 200);
main.setDefaultCloseOperation(EXIT_ON_CLOSE);
main.setVisible(true);
}
}
您有一个名为“大型机”的方法(返回 void),该方法永远不会被调用。
您应该将它作为构造函数,或者创建一个调用该方法的构造函数,如下所示:
public class MainFrame extends JFrame {
private JPanel panel;
private JButton performance;
private JButton concordance;
private JButton discordance;
private JButton resultat;
public MainFrame() {
super();
MainFrame();
}
public void MainFrame() {
panel = new JPanel(new GridLayout(4, 1, 10, 10));
performance = new JButton("performance");
concordance = new JButton("concordance");
discordance = new JButton("discordance");
resultat = new JButton("resultat");
performance.setSize(50, 30);
concordance.setSize(50, 30);
discordance.setSize(50, 30);
resultat.setSize(50, 30);
panel.add(performance);
panel.add(concordance);
panel.add(discordance);
panel.add(resultat);
this.getContentPane().add(panel);
}
public static void main(String[] args) {
MainFrame main = new MainFrame();
main.setSize(300, 200);
main.setDefaultCloseOperation(EXIT_ON_CLOSE);
main.setVisible(true);
main.MainFrame();
}
}
我有一个Java swing GUI,使用其他窗口管理器可以很好地运行和显示,但当我在Xmonad中运行它时,它不能正确显示。所有显示的是窗口的框架,它是灰色的,没有按钮,菜单等。我如何使Swing GUI显示正确?
问题内容: 我试图在组件的工具提示中显示多个图像,找到并实现了一个自定义,该自定义添加了所需的组件,如下所示: 但是,我所看到的只是一个小点,表明显示了工具提示,但是以某种方式忽略了大小。我会错过实现自定义工具提示的什么? 问题答案: 基本的“问题”是JToolTip 不是 设计为容器,只是偶然地是一个容器,因为JComponent是。对于Swing“非容器”,它的ui委托负责充当LayoutMa
我创建了一个JFrame,其中包含一个JSplitPane,它在左侧包含一个画布,在右侧包含一个JPanel。画布包含LWJGL显示,而JPanel中几乎没有JTextFields。问题是,当我按下LWJGL显示器上的鼠标按钮时,我无法再将文本写入JTextFields。当我最小化应用程序并将其返回时,它会一直工作,直到我再次按下显示器。 为什么我会遇到这个问题?我怎么能修好它? 注意:我可以专注
主要内容:1 Swing显示图片的介绍,2 Swing显示图片的方法,3 Swing显示图片的案例1 Swing显示图片的介绍 为了显示图像,我们可以使用Graphics类的drawImage() 方法。 2 Swing显示图片的方法 方法 描述 public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer) 用于绘制指定的图像。 3 Swing显示图片的案例 输出结果为:
问题内容: 我正在为我的学生编写MathQuiz,包括用于渲染的JLatexMath和用于蜂鸣器的jinput。问题是,有时(像每四次一样)当我启动程序时,所有组件都不可见。它们在调整JFrame大小后出现。首先,我想到了jinput或jlatexMath库中的Bug,但是即使使用最小的代码,我也会遇到相同的错误: 代码有什么问题? 问题答案: 首先移到构造函数的末尾。 而不是去这里… 移到这里…
我正试图在现有的应用程序中实现新的Android导航组件。我有两个片段除了名字外都是一样的。当我将startDestination设置为fragment2时,片段似乎显示正确。当startDestination设置为fragment1时,我看不到膨胀的视图,但我确实看到了“Fragment 1 created”toast。 我做错了什么? 导航图。xml 主活动布局: Fragment1布局: 依