我正在尝试为程序分配构建GUI,左边的顶部开始基本上有两个按钮,右边是继续,面板位于底部。但它告诉我:
错误:requestFocusInWindow(boolean)具有受保护的访问权限 JComponent的
我曾经遇到过这种情况,我觉得我不明白这意味着什么,任何人都有一个很好的解释我用Google搜索并且似乎找不到任何东西所以我觉得这可能是愚蠢的。
以下是我用来构建GUI的代码:
import javax.swing.*;
import java.awt.*;
public class PendulumWindow {
protected JFrame pendFrame;
protected JPanel pendPanel;
protected JButton resume;
protected final int SIZE_X = 500;
protected final int SIZE_Y = 450;
protected Dimension pendPanSize = new Dimension(SIZE_X, SIZE_Y);
public PendulumWindow() {
}
public PendulumWindow(String s) {
makePanel();
makeFrame();
}
public void makePanel() {
pendPanel = new JPanel();
pendPanel.setPreferredSize(pendPanSize);
pendPanel.setFocusable(true);
pendPanel.requestFocusInWindow(true);
pendPanel.setBackground(Color.BLUE);
}
public void makeFrame() {
pendFrame = new JFrame("Pendulum");
start = new JButton("start");
resume = new JButton("resume");
//---------- FRAME PROPERTIES ----------//
pendFrame.setSize(500,500);
pendFrame.setVisible(true);
pendFrame.setResizable(true);
pendFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//---------- ADD ELEMENTS TO FRAME ----------//
pendFrame.setLayout(new BorderLayout());
pendFrame.add(start, BorderLayout.WEST);
pendFrame.add(resume, BorderLayout.EAST);
// pendFrame.add(pendPanel, BorderLayout.SOUTH);
}
public static void main(String[] args) {
PendulumWindow window = new PendulumWindow("Pendulum");
}
}
答案 0 :(得分:3)
文档显示requestFocusInWindow(boolean)为protected
,因此只能由JComponent
的子类调用。相反,您应该使用可公开访问的requestFocusInWindow。
答案 1 :(得分:0)
使用requestFocus()
,而不是requestFocusInWindow()
。