【发布时间】:2014-03-14 14:21:37
【问题描述】:
我是java新手,想听听你的建议:
我会在 setPreferredSize() 中插入 manager 类 的宽度和高度,而不使用“邪恶”静态,有人可以告诉我在这种情况下最聪明的做法是什么?
是否可以不在管理器类中创建构造函数并始终按照 OOP 的灵活性类传递宽度和高度?
- 我写错了add(Panel.getPanel()),对吗? 它尊重 OOP 吗?
告诉我这段代码哪里错了或者要修复什么,我想学习,谢谢。
public class MainFrame extends JFrame {
public static void main(String[] args) {
final MainFrame mainFrame = new MainFrame();
mainFrame.setVisible(true);
}
public MainFrame() {
initFrame();
}
private void initFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(Panel.getPanel());
setResizable(false);
setUndecorated(true);
pack();
setLocationRelativeTo(null);
}
}
public class Panel extends JPanel {
public Panel() {
setPreferredSize(new Dimension(/*?????????*/));
}
}
public class Manager {
private int width = 700;
private int height = 700;
// Some unrelated code follows
public int getHeight(){
return height;
}
public int getWidth(){
return width;
}
}
【问题讨论】:
-
1) Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?。 2) 扩展
JPanel或JFrame是否有理由不添加功能,3) 在java 方法中,名称以小写字母开头,按照惯例采用驼峰式风格。 4) Manager 中的变量可能是final -
@nachokk 请告诉我什么方法不遵循 java 约定?我的程序中的所有方法都遵循驼峰式约定,例如:getHeight(),无论如何,在面板中我添加了一个 keylistener 和 mouselistener,框架具有启动应用程序的功能,因为您可以看到它有一个 main 方法。
-
这个问题可能更适合codereview.stackexchange.com