gpt4 book ai didi

java - 让滚动条与绝对定位一起工作

转载 作者:行者123 更新时间:2023-12-02 06:41:37 25 4
gpt4 key购买 nike

你好,我正在尝试制作一个游戏,我想做的基本事情是添加一个带有滚动条的 JTextArea。这是我的代码:

package TestStuff;

import javax.swing.*;

@SuppressWarnings("serial")
public class JTextAreaTest extends JFrame
{
public static void main(String[] args)
{
new JTextAreaTest();
}

public JTextAreaTest()
{
this.setSize(1500, 600);
setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
this.setLocation(450, 175);
this.setExtendedState(JFrame.
MAXIMIZED_BOTH);
this.setTitle("Game Display Test");

panel1 = new JPanel(null);

final JTextArea gameDisplay = new JTextArea(
500, 300);
gameDisplay.setBounds(424, 300, 500, 300);
gameDisplay.setBackground(Color.BLACK);

Font font = new Font ("Verdana", Font.BOLD,
14);
gameDisplay.setFont(font);
gameDisplay.setForeground(Color.WHITE);

final JScrollPane displayScroll = new JScrollPane(
gameDisplay);
displayScroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_
NEEDED);
displayScroll.setVerticalScrollBarPolicy(
JScrollPane.
VERTICAL_SCROLLBAR_AS_NEEDED);

panel1.add(gameDisplay);
panel1.add(displayScroll);

setContentPane(panel1);

this.setVisible(true);
}
}

当我运行它时一切正常,但是当文本超出 JTextArea 的范围时,滚动条永远不会出现!是的,我知道我正在使用绝对定位(无布局),这很糟糕,但我在游戏中出于其他原因需要它。提前致谢! (另外,由于某种原因,我无法在我的计算机上连接到该网站,但我以前使用过你们,而且你们很棒,所以我必须在手机上输入此内容。如果问题的布局搞砸了,我很抱歉,是电话:P)

最佳答案

当你打电话时...

panel1.add(gameDisplay);
panel1.add(displayScroll);

您实际上是从 displayScroll 中删除了 gameDisplay,因为一个组件只能有一个父组件。

事实上,它的工作原理归结为您正在调整 gameDisplay 面板而不是 displayScroll 的位置和大小,后者你应该...

使用

panel1.add(displayScroll);

相反,但请确保仅调整 displayScroll 的大小和位置,因为 displayScroll 将处理 gameDisplay

关于java - 让滚动条与绝对定位一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19086108/

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