【问题标题】:How do java Imports work (swing)?java Imports如何工作(摆动)?
【发布时间】:2015-09-17 14:19:53
【问题描述】:

所以我尝试创建一个空边框,并且需要导入 javax.swing.border.EmptyBorder;

但是我已经导入了 javax.swing.*;

为什么我需要导入之前的导入? .* 不是从 swing 包中导入所有内容吗?

我的源代码如下:

   import javax.swing.*;
   import javax.swing.border.EmptyBorder;

   import java.awt.*;
  /*
public class Gui extends JFrame {

//row1
JPanel row1 = new JPanel();
JButton reset = new JButton("Reset");
JButton play = new JButton("Play");

//row2
JPanel row2 = new JPanel();
JLabel option = new JLabel("Guess: ", JLabel.RIGHT);
JTextField text1 = new JTextField("0");
JTextField text2 = new JTextField("0");
JTextField text3 = new JTextField("0");

//row3
JPanel row3 = new JPanel();
JLabel answerL = new JLabel("Answer: ", JLabel.RIGHT);
JTextField answerB = new JTextField("", 0);
*/
public Gui(){
/*  super("Guess My Number");
    setSize(500, 800);
    GridLayout masterLayout = new GridLayout(4, 1);
    setLayout(masterLayout);


    FlowLayout layout1 = new FlowLayout(FlowLayout.LEFT);
    row1.setLayout(layout1);
    row1.add(reset);
    row1.add(play);
    add(row1);


    GridLayout layout2 = new GridLayout(1, 4, 30, 30);
    row2.setLayout(layout2);*/
    row2.setBorder(new EmptyBorder(0,100,0,200));
    /*row2.add(option);
    row2.add(text1);
    row2.add(text2);
    row2.add(text3);
    add(row2);

    GridLayout layout3 = new GridLayout(1,1, 10, 10);
    row3.setLayout(layout3);
    row3.add(answerL);
    row3.add(answerB);
    add(row3);


    setVisible(true);
}

public static void main(String[] args){
    Gui game = new Gui();
}
}
 */

【问题讨论】:

  • 你想知道为什么你必须导入 javax.swing.border.EmptyBorder;和 javax.swing.*?
  • 对了,为什么要单独导入,javax.swing.*不应该包含从边框类导入

标签: java swing user-interface import package


【解决方案1】:

Java 中嵌套包之间没有关系。

javax.swing.* 只会导入直接在javax.swing 中找到的类,从语言的角度来看,javax.swing.border 被认为是完全不同的不相关包。

【讨论】:

  • 这是否类似于 java.awt.*;和 java.awt.event.*;
  • @RamandeepSinghBedi 是的,这也是两个不同的包,名称的嵌套是一种编程约定,对程序员可能意义重大,但对代码没有意义。
  • ".. 可能对程序员来说意义重大,但对代码却没有意义。" 这是解释它的好方法。 :)
猜你喜欢
  • 1970-01-01
  • 2022-11-04
  • 2017-05-02
  • 2016-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-20
相关资源
最近更新 更多