当前位置: 代码迷 >> Java相关 >> [讨论]关于JTextArea的问题。
  详细解决方案

[讨论]关于JTextArea的问题。

热度:211   发布时间:2007-04-15 21:11:53.0
[讨论]关于JTextArea的问题。
部分代码是这样的
scrollPane = new JScrollPane(area);
scrollPaneHex = new JScrollPane(displayHexArea);
panel.add(scrollPane, BorderLayout.CENTER);
panel.add(scrollPaneHex, BorderLayout.CENTER);
displayHexArea.setVisible(false);
area.setVisible(true);

我是想在一个类似于记事本的程序中在显示文本的16进制时用displayHexArea来显示,而普通的文本用area来显示,可是当我调用displayHexArea.setVisible(false);时,把area也给遮住了,就象下面这个图:

怎么实现我想要的功能呢?
搜索更多相关的解决方案: JTextArea  

----------------解决方案--------------------------------------------------------
首先我们要知道你是如何放入
displayHexArea area 的

如果你把它们加入到同一个区域,那当然后者会覆盖前者了
----------------解决方案--------------------------------------------------------
仅仅靠true和false是不可以的   。
----------------解决方案--------------------------------------------------------
以下是引用千里冰封在2007-4-16 9:03:15的发言:
首先我们要知道你是如何放入
displayHexArea area 的

如果你把它们加入到同一个区域,那当然后者会覆盖前者了

我想要实现像UE的功能,能显示16进制。
普通的文本用area显示,16进制文本用displayHexArea显示。
当我按“窗口->16进制窗口”时,displayHexArea覆盖掉area,当按“窗口->普通文本窗口”时,area覆盖掉displayHexArea。


----------------解决方案--------------------------------------------------------
以下是引用风月_无边在2007-4-16 9:36:57的发言:
仅仅靠true和false是不可以的 。

那用什么呢?


----------------解决方案--------------------------------------------------------
以下是引用菜鸟上路在2007-4-16 12:25:02的发言:

我想要实现像UE的功能,能显示16进制。
普通的文本用area显示,16进制文本用displayHexArea显示。
当我按“窗口->16进制窗口”时,displayHexArea覆盖掉area,当按“窗口->普通文本窗口”时,area覆盖掉displayHexArea。

这样就会出现前面加入的不能显示了

要么你就每次都动态的更新一次,先删除所有,再添加要显示的面板上去
----------------解决方案--------------------------------------------------------

以下是引用千里冰封在2007-4-16 13:26:23的发言:

这样就会出现前面加入的不能显示了

要么你就每次都动态的更新一次,先删除所有,再添加要显示的面板上去

谢谢!
其实可以用CardLayout解决。


----------------解决方案--------------------------------------------------------