小编Bla*_*ein的帖子

Java:打印LinkedList没有方括号?

这是一个相当简单的问题.当您打印出LinkedList时,如下所示:

System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

它打印出来,围绕方括号中的列表,如下所示:

[thing 1, thing 2, thing 3]
Run Code Online (Sandbox Code Playgroud)

有没有方法可以在没有方括号的情况下将其打印出来?

java collections

7
推荐指数
2
解决办法
7907
查看次数

数学:五个具有唯一总和的数字

所以我需要一种方法来弄清楚如何获得5个数字,当你添加其中任何2个时,它将产生一个总和,你只能通过添加那些特定的两个数字来获得.

这是我正在谈论的一个例子,但有3个数字:

1
3
5

1 + 3 = 4
1 + 5 = 6
3 + 5 = 8

添加任何两个这样的数字将最终得到一个唯一的总和,通过添加任何其他数字对无法找到.我需要这样做,但有5个不同的数字.如果您有一种方法可以确定如何使用任意数量的数字进行此操作,那么分享也会受到赞赏.谢谢

math numbers sum unique

7
推荐指数
1
解决办法
2794
查看次数

Java:私有变量和返回方法的必要性

在我看过的代码中,有些人经常使用私有变量,例如

private static int number;
Run Code Online (Sandbox Code Playgroud)

他们通常有访问方法,如

public static int returnNumber(){

    return number;

}
Run Code Online (Sandbox Code Playgroud)

但我的问题是,重点是什么?我这样做的方式就是这样

int number;
Run Code Online (Sandbox Code Playgroud)

当我需要访问它时,请遵循此操作

int numberToBeAssigned = someClass.number;
Run Code Online (Sandbox Code Playgroud)

代替

int numberToBeAssigned = someClass.getNumber();
Run Code Online (Sandbox Code Playgroud)

对我来说,使用访问器方法和私有变量似乎是不切实际的,我知道他们做了什么,私有变量只允许被它们所在的类访问.我只是没有看到它们的必要性,当你可以轻松地实例化类并在需要时调用它的成员变量.我的逻辑显然是错的,但我希望有人能够提供一个关于私有变量和访问器方法如何被利用的明确例子.

谢谢

java variables methods private

4
推荐指数
1
解决办法
1990
查看次数

JTextField在最小化时调整大小

我在JFrame中有一个JTextField和一个JTextArea.但是,当应用程序运行时,如果我最小化窗口,则会调整JTextField的大小.它的高度通常是双倍或三倍,但每次调整大小的方式并不一致.我不知道为什么会发生这种情况.我并不是真的要求直接解决方案,只是可能导致问题的一些可能的事情.如果你能帮助我,那就太好了.谢谢

编辑:这是我用来初始化它的代码:

public class Console extends JPanel implements ActionListener, Serializable {
    boolean ready = false;
    protected JTextField textField;
    protected JTextArea textArea;
    private final static String newline = "\n";
    Game m_game;
    Thread t;

public Console(Game game) {
    super(new GridBagLayout());

    m_game = game;
    textField = new JTextField(20);
    textField.setPreferredSize(null);
    textField.addActionListener(this);

    textArea = new JTextArea(20, 60);
    textArea.setEditable(false);
    textArea.setWrapStyleWord(true);
    textArea.setLineWrap(true);
    Font comic = new Font("Serif", Font.PLAIN, 14);
    textArea.setFont(comic);
    JScrollPane scrollPane = new JScrollPane(textArea);

    //Add Components to this panel.
    GridBagConstraints c = new GridBagConstraints();
    c.gridwidth = …
Run Code Online (Sandbox Code Playgroud)

java swing resize jframe jtextfield

3
推荐指数
1
解决办法
709
查看次数

Java:"类重载"

好的,我们假设我有一个名为Orange的类文件,然后是两个名为Color和Fruit的独立类文件.

在Orange内部,有一些颜色,大小,成熟度等属性和方法setSize(int size).

在Fruit里面,有一些属性,包括名称,水果类型,是否有种子,从哪里进口等,然后是方法setName(String name),eat(),wash()和给(Person person) ).

Inside Color中有一些属性用于名称,RGB值,十六进制值,Alpha值等,然后是方法setName(),setAlpha(int alpha),setRGB(int r,int g,int b)和setHex(int hex) .

大多数上述信息都是无关紧要的,只是为了帮助您理解.Orange Class文件中有一个名为"Parent"的对象.我需要知道的是,对象"Parent"是否可以设置为Fruit或Color?稍后在主类文件中出现myOrange.Parent.setName("Bob")发生的点,并且在两种情况下(无论Parent是Fruit还是Color)都可以,因为Fruit有一个名为setName的方法,和颜色也一样.

谢谢

java overloading class

3
推荐指数
1
解决办法
1万
查看次数

Java:JFrame解析?

我在Mac上使用几个JFrame制作了一个程序,分辨率还可以,一切都适合屏幕.但是当我在我的电脑上运行程序时,JFrame太大了,就在屏幕上.

我的问题是:是否可以在JFrame上设置通用分辨率,以便将所有组件绘制得更小?我宁愿这样做,然后通过整个程序并手动调整每个组件的大小.

java swing resolution jframe layout-manager

3
推荐指数
1
解决办法
1505
查看次数

Java:透明TextArea +绘制背景

我的问题很简单.JTextArea可以设置为透明,但不是完全不可见的吗?此外,如果可能,我如何在其后面绘制图像(首先绘制图像,然后在其上方绘制透明文本区域)?

java applet swing transparent jtextarea

2
推荐指数
1
解决办法
9708
查看次数

Java:如何检查字符串是否是任何LinkedList元素的一部分?

好的,所以我有一个LinkedList,我有一个字符串.我想检查String是否包含在任何LinkedList元素中.例如:

String a = "apple";
String listelement = "a bunch of apples";
LinkedList list = new LinkedList();
list.add(listelement);
if(list.containsany(a){
   System.out.println("Hooray!");
}
Run Code Online (Sandbox Code Playgroud)

会导致印刷"万岁!"

显然list.containsany不是一个真正的LinkedList方法,我只是用它来实现这个目的.

那么我该如何模拟我的例子呢?

谢谢

java string linked-list contain

1
推荐指数
1
解决办法
9398
查看次数

Java:无法追加textArea

public void actionPerformed(ActionEvent evt) {
    input = textField.getText();
    textArea.append(input);
    textField.setText("");
    textArea.setCaretPosition(textArea.getDocument().getLength());
}
Run Code Online (Sandbox Code Playgroud)

此方法有效,并且只要调用方法,就会附加变量输入.

public void start(){

    System.out.println("Starting");
    int questionNumber = 0;
    Counter counter = new Counter();
    counter = pickQuestions();
    System.out.println("here");
    textArea.append("**Applet**");
    System.out.println("now here");
    doQuestion(counter, questionNumber);

}
Run Code Online (Sandbox Code Playgroud)

此方法不起作用,并且不附加" Applet ",但它会打印"here",然后"now here".

有没有人知道可能的原因或者我没有提供足够的信息?谢谢!

java methods applet textarea textfield

1
推荐指数
1
解决办法
1308
查看次数

Java:使Jframe不能水平滚动,以及JTextArea

我有一个名为"Console"的类,具有以下结构:

public Console(Game game) {
    super(new GridBagLayout());

    m_game = game;
    textField = new JTextField(20);
    textField.addActionListener(this);

    textArea = new JTextArea(20, 75);
    textArea.setEditable(false);
    JScrollPane scrollPane = new JScrollPane(textArea);

    GridBagConstraints c = new GridBagConstraints();
    c.gridwidth = GridBagConstraints.REMAINDER;

    c.fill = GridBagConstraints.HORIZONTAL;

    c.fill = GridBagConstraints.BOTH;
    c.weightx = 1.0;
    c.weighty = 1.0;
    add(scrollPane, c);
    add(textField, c);
}
Run Code Online (Sandbox Code Playgroud)

然后我的Game类中的方法:

public void createAndShowGUI() {

    JFrame frame = new JFrame("My game");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.add(newConsole);

    frame.pack();
    frame.setVisible(true);
    frame.setResizable(false);
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,我不希望滚动窗格能够水平滚动,只能垂直滚动.当我向文本区域添加一些太大而无法放入窗口的内容时,会出现水平滚动条.有没有办法可以阻止水平滚动,而只是让文本区域打印出太大而不适合下一行?

例:

(示例文本区域在需要允许水平滚动之前只能容纳20个字符)

代替

Hello, my name is Bob.
Run Code Online (Sandbox Code Playgroud)

这会出现

Hello, my …
Run Code Online (Sandbox Code Playgroud)

java swing textarea jframe

1
推荐指数
1
解决办法
1851
查看次数

Java:JTextField(仍然)在最小化时调整大小(新信息)

我最初在这里发了一个问题

我发现只有JScrollPane存在时,JTextField才会调整大小.换句话说,我可以最小化并最大化它我想要的所有内容,直到滚动条出现(因为有太多文本适合窗口).之后,如果我最小化窗口,JTextField的垂直尺寸将增加三倍.希望这些新信息能够引发一个可能的解决方案.如果您有任何想法,请发帖,谢谢.

java swing jframe jscrollpane jtextfield

1
推荐指数
1
解决办法
941
查看次数

Java:生成许多类重复项

所以这个问题相当简单,我觉得这是一个愚蠢的问题.

当我运行我的程序时,正在生成许多重复的类.特别是JFrame类.如果我查看我的build/packagename/classes /目录,我会看到JFrameClassName.class,后面是几个标记为JFrameClassName $ 1.class,JFrameClassName $ 2.class,JFrameClassName $ 3.class等的类重复项.

主JFrame类具有正确的文件大小.他们的副本似乎只有1KB,但它们不是空的.我不是在这里要求一个具体的解决方案,我只想知道可能导致这个问题的可能问题是什么.如果有人可以提供帮助,我会非常感激.谢谢

java class

0
推荐指数
1
解决办法
61
查看次数

Swing:JScrollPane导致渲染问题

有时(并非总是)在滚动我的JScrollPane栏时,一些组件(通常是像JLabel这样的文本)不能正确重新绘制,它们最终只是部分渲染.

我不知道为什么会这样.我已经尝试在AdjustmentListener中调用paint(),但这似乎没有帮助.

有任何想法吗?

编辑:组件的初始化

    panel = new JPanel();
    ImageIcon img = new ImageIcon("editor.png");
    setIconImage(img.getImage());
    initComponents();

    final JScrollPane pane = new JScrollPane(panel);
    this.setContentPane(pane);
    //pane.setLayout(new ScrollPaneLayout());
    //pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    Dimension dim = panel.getSize();
    dim.height = dim.height - 100;
    pane.setSize(dim);
    this.setSize(dim);
    AdjustmentListener hListener = new AdjustmentListener() {
        @Override
        public void adjustmentValueChanged(AdjustmentEvent e) {
            repaint();
            for(Component c : panel.getComponents())
                c.repaint();
            for(Component c : pane.getComponents())
                c.repaint();
            panel.repaint();
            panel.revalidate();
            pane.repaint();
            pane.revalidate();
        }
    };
    pane.getVerticalScrollBar().addAdjustmentListener(hListener);
    panel.setVisible(true);
    pane.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane

0
推荐指数
1
解决办法
1056
查看次数