gpt4 book ai didi

java - JFrame 中的 JPanel 中的 JTextArea 中的 JScrollPane 出现问题

转载 作者:行者123 更新时间:2023-12-01 15:33:14 31 4
gpt4 key购买 nike

我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但它没有显示,任何帮助将不胜感激。我一直在尝试研究 docs.oracle 页面和这里 Add JScrollPane to a JPanel但由于某种原因它拒绝出现。

final JTextArea test= new JTextArea(5,30);
test.setLineWrap(true);
test.setWrapStyleWord(true);
test.setEditable(false);
JScrollPane spane = new JScrollPane(test);
spane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

JFrame frame = new JFrame ();

frame.setSize(800, 250);
frame.setTitle("test1");
frame.setLocation(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.getContentPane().add(spane);

GridBagConstraints k = new GridBagConstraints();
k.gridx = 4;
k.gridy = 5;
a.setConstraints(spane,k);
container.add(spane);

最佳答案

你的变量容器是JPanel吗?我认为您忘记调用 add() 方法。但下面是我的建议代码。

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;

public class MyScrollPane extends JPanel
{

public MyScrollPane()
{
GridBagConstraints k = new GridBagConstraints();
k.gridx = 4;
k.gridy = 5;



final JTextArea test= new JTextArea(5, 30);
test.setLineWrap(true);
test.setWrapStyleWord(true);
test.setEditable(false);

JScrollPane spane = new JScrollPane(test);
spane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

GridBagLayout gbl = new GridBagLayout();
gbl.setConstraints(spane,k);

JPanel panel = new JPanel(gbl);
panel.add(spane);
add(panel);

}


private static void createAndShowGUI()
{


JFrame frame = new JFrame();
frame.setSize(800, 250);
frame.setTitle("test1");
frame.setLocation(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.getContentPane().add(new MyScrollPane());



frame.setVisible(true);
}

public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {

@Override
public void run()
{
createAndShowGUI();
}
});
}

}

关于java - JFrame 中的 JPanel 中的 JTextArea 中的 JScrollPane 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303268/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com