gpt4 book ai didi

java - 将 JScrollBar 添加到 JTextArea

转载 作者:行者123 更新时间:2023-12-01 22:57:08 26 4
gpt4 key购买 nike

我正在尝试制作一个 GUI 服务器到客户端的消息程序。我写的是网络端,这与问题无关。我正在尝试使用 JScrollBar 制作 JTextArea 滚动。我该怎么做?这是我的客户端代码(删除了大部分网络代码):

public class MyClient extends JFrame
{

public Client client;
public static Scanner scanner;
public JTextField textField;
public JLabel label;
public static String string;
public static JTextArea textArea;
public String username;
public JScrollBar scrollBar;
public JScrollPane scrollPane;

public MyClient()
{
setTitle("Client");
setSize(800, 600);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
textArea = new JTextArea("");
scrollBar = new JScrollBar();
label = new JLabel("Please enter your message");
add(label);
textField = new JTextField(70);
add(textField);
textField.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
textArea.append(username + ": " + textField.getText() + "\n"); textField.setText(null);
}
});

add(textArea);
add(scrollBar, BorderLayout.EAST);
string = textField.getText();
scanner = new Scanner(System.in);
}

class MyAdjustmentListener implements AdjustmentListener
{

public void adjustmentValueChanged(AdjustmentEvent e)
{
label.setText(" New Value is " + e.getValue() + " ");
repaint();
}
}

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

@Override
public void run()
{
MyClient myClient = new MyClient();
myClient.setVisible(true);
myClient.setResizable(false);
}

});
}
}

最佳答案

您需要一个 JScrollPane 而不是 JScrollBar,请尝试以下代码:

JTextArea textArea = new JTextArea ("");

JScrollPane scroll = new JScrollPane (textArea,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

在上面的代码中,您将 textArea 分配给 ScrollPane 并使其垂直水平滚动 >.

另一种方法,创建包含 TextArea 的 ScrollPane,然后设置垂直滚动 = 始终打开:

JTextArea textArea= new JTextArea();     
JScrollPane scroll= new JScrollPane(textArea);

scroll. setVerticalScrollBarPolicy( JScrollPane. VERTICAL_SCROLLBAR_ALWAYS );

在此处阅读教程:Tutorial Link

关于java - 将 JScrollBar 添加到 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23877214/

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