现在的位置: 首页 > 综合 > 正文

java笔记

2013年12月12日 ⁄ 综合 ⁄ 共 5786字 ⁄ 字号 评论关闭

2009
6

5

10:00:18

1. 
setActionCommand
的作用。

设置此组件激发的操作事件的命令名称。

:

JButton btnShow = new JButton();

 

btnShow.setActionCommand("show");

 

当这个按钮被点击的时候,
你就可以用

ActionEvent 的 
getActionCommand().equals("show")

去比较触发事件的是不是这个按钮

通俗的意思就是:用setActionCommand()去设置按钮操作的值,当在ActionEvent中用getActionCommand去判断是谁产生了事件。

2.对MenuItem 中快捷键的设置


 

 

 

 

对应的代码为:

mi_application_log
.setAccelerator(javax.swing.KeyStroke.
getKeyStroke
(java.awt.event.KeyEvent.
VK_L
,java.awt.Event.
CTRL_MASK
 | java.awt.Event.
ALT_MASK
));

 

2. 
mi_wizard.setMnemonic( (int) 'W');
设置。

如:连接向导(W)


(MenuItem)中的


(W)

.
Properties
中的
mnemonic
中设置。

 

2009
6

8

11:03:14

1、 
GridBagLayout中参数的意义。

构造方法前的代码都不是很特殊,都是一些相当标准的import
和变量定义。但是进入构造方法后,事情就变得有趣了。 

Container contentPane = getContentPane();

GridBagLayout gridbag =GridBagLayout();

contentPane.setLayout(gridbag);   

 我们以GridBagWindow
的内容面板作为开始来创建一个
GridBagLayout
对象,准确地说,这个方法与过去我们所创建
GridLayout
对象和
BorderLayout
对象的方法是一样的。那么,现在我们就开始来设置
GridBagLayout
对象使它作为内容面板的布局。
GridBagConstraints c = new GridBagConstraints();   

 然后我要提到这整个进程中的一个独特的对象,那就是GridBagConstraints
。这个对象在
GridBagLayout
中控制所有被安置在其中组件的约束。为了把一个组件增加到你的
GridBagLayout
中去,你首先必须将它与一个
GridBagConstraints
对象建立连接。
GridBagConstraints
可以从
11
个方面来进行控制和操纵,也可以给你提供一些帮助。这些内容是:

Gridx——组件的横向坐标 

Girdy——组件的纵向坐标 

Gridwidth——组件的横向宽度,也就是指组件占用的列数,这与
HTML

colspan
类似 
Gridheight
——组件的纵向长度,也就是指组件占用的行数,这与
HTML

rowspan
类似 
Weightx
——指行的权重,告诉布局管理器如何分配额外的水平空间。

当设置为1.0
时,它将剩余的部分全部占满。

Weighty——指列的权重,告诉布局管理器如何分配额外的垂直空间 

Anchor——告诉布局管理器组件在表格空间中的位置 

Fill——如果显示区域比组件的区域大的时候,可以用来控制组件的行为。控制组件是垂直填充,还是水平填充,或者两个方向一起填充 

Insets——指组件与表格空间四周边缘的空白区域的大小 

Ipadx—— 组件间的横向间距
,
组件的宽度就是这个组件的最小宽度加上
ipadx
值 

ipady—— 组件间的纵向间距
,
组件的高度就是这个组件的最小高度加上
ipady
值 

 

 

3. 
TextArea的一些设置。

F
acusable :此文本不能获得焦点。
(
也就是不能对它进行修改
)

E
ditable: 此文本能获得焦点,但是不能更改。

lineWrap:文字在一行不够时,会跳到第二行。

 

 

4. 
设置文本的下划线。

代码如下:

JLabel label = new JLabel(

hello

);


L
abel.setFont(new Font(
“”
,Font.ITALIC,12));


L
abel.setForeground(Color.BULE);


Border border1 = BorderFactory.createMatteBorder(0,0,1,0,Color.BULE);


L
abel.setBorder(border1);

 

5. 
设置TextArea
的背景颜色
(setBackground).

Properties
中的
background
的弹出选项中选择
Swing Colors
中选择
Button.background.
它的颜色就跟
Button
的一样了。不管是否跨平台,它的颜色都跟
button
的一样,这样就有很好的灵活性。

 

2009
6

9

9:37:34

1. 
JSplitPane
参数的设置(
来源:
Exporer/UI.java)

JSplitPane pane =
new
 JSplitPane(JSplitPane.
HORIZONTAL_SPLIT
, treeView,tableView);



pane.setDividerLocation(200);



pane.setDividerSize(4);

pane.setDoubleBuffered(
true
);

JSplitPane 用于分隔两个(只能两个)
Component
。两个 
Component 
图形化分隔以外观实现为基础,并且这两个 
Component 
可以由用户交互式调整大小

S
etDividerLocation():
改变 Component 
大小

(左面那个
Component
的宽度
).

S
etDividerSize(4):设置分割线的宽度。当为
0
时不能手动改变两组建的宽度。

 

2009
6

11

10:13:35

1. 
同步

synchronized (obj) 表示若多个线程同时访问时,只让其中一个线程最先取得
obj
对象并对其加锁,其它线程则阻塞直到取得
obj
对象的线程执行完代码块,此时被加锁的
obj
对象得到释放(解锁),其它线程得到通知取得该
book
对象继续执行。

很多情况下,可以使用synchronized (this){...}
来同步代码块。但需要注意的是,使用
this
作为同步对象的话,如果同一个类中存在多个
synchronized (this){...}
代码块,其中任何一个
synchronized(this)
代码块处于被执行状态,则其它线程对其他
synchronized(this)
代码块的访问也会受到阻塞。

 

2009
6

18

11:17:15

1. 
当代码有错的时候,除了把值打印出来,还可以将错误异常打印出来。

 

 

2009
6

22

14:19:26

1.
 

class
 SymWindow 
extends
 java.awt.event.WindowAdapter{



public
 
void
 windowClosing(java.awt.event.WindowEvent event){




Object object = event.getSource();




if
(object == dlg_select_server.
this
)





dlg_add_hostnameip_WindowClosing(event);



}


}


void
 dlg_add_hostnameip_WindowClosing(java.awt.event.WindowEvent event)


{



this
.closeDialog();
   

}












对窗体的监听,当窗体关闭就调用该函数。

P
rivate void closeDialog()

{

T
his.setVisible();

T
his.dispose();

}
 

2. 
setVisible(true);函数是阻塞的,也就是如果还没有显示,那么线程就会阻塞在那,直到显示为止。

 

 

2009
6

23

17:56:05

1. 
严格遵守命名规范,代码尽量做到简洁。

 

2009
6

25

17:29:54

1. 
在继承DefaultMutableTreeNode
节点时,

自己要清楚需要有哪些属性,就必须自己实现这些属性
。比如,在遍历某磁盘的文件时,肯定有文件和文件夹,要想文件夹能展开,必须得写好isLeaf
函数,因为
java
才能知道是文件夹还是文件。

 

2009
6

26

13:33:59

1.
   String name = javax.swing.JOptionPane.showInputDialog(
this

"输入节点名字
: "

);   
获得输入字符串的值。

 

 

2009
7

2

18:14:33

1. 
比如

panel_1
.setBorder(BorderFactory.
createCompoundBorder
(BorderFactory

.
createEmptyBorder
(-1, 0, -1, -1)



, BorderFactory.
createLineBorder
(Color.
red
)));

是这样的话就只有left
端可以呈现出红色,其他的都不能。因为其他边都设了值。

 

2009
7

3

10:31:49

1. 
将一个文本控件的背景颜色跟Frame
的不一样时,可以设置它的背景颜色使它跟
Frame
一样,但是这样会有个问题,设的背景颜色可能在不同的平台上的颜色不一样,所以这样不合适跨平台的做法。最好的做法就是将其控件设置成透明
(setOpaque(false)).

 

2. 
不要使用默认字体,因为不同的字体在不同的平台上是不一样的。所以必须设置一个固定字体,使它在任何平台都使用这个字体。

例如:
label_1.setFont(new Font("
Dialog
", Font.PLAIN, 12));

 

3. 
要想要JDialog
在显示的时候,为阻塞状态,意思就是,用户只能操作该
dialog
,以及
dialog

children dialog
,不能将
dialog

parent dialog or frame
输入任何东西
,
需要设置对话框模式
(new JDialog(owner,true))
,如下:

public 
JDialog
(
Dialog


 owner,

               boolean modal)

创建一个具有指定所有者 Dialog 和模式的对话框。 

此构造方法将该组件的语言环境属性设置为 JComponent.getDefaultLocale 所返回的值。 

参数:
 

owner - 显示该对话框的所有者 Dialog;如果此对话框没有所有者,则为 null 

modal - 指定对话框在显示时是否阻塞用户向其他顶层窗口输入。如果为 true,则模式类型属性被设置为 DEFAULT_MODALITY_TYPE;否则对话框是无模式的。

2009
7

13

14:20:24

1. 
当控件设有setToolTipText()
值时,无法调用

popupMenu.show(this, e.getX(), e.getY());
就是无法弹出快捷菜单。

 

2009
7

16

14:17:40

1. 
我发现,先实例化的对象是放在最上面的。最后实例化的放在下面。

 

2009
7

20

11:32:21

1. 
JButton 
actionPerformed
事件将相应的是鼠标的
pressed

Released
一起的动作,相应键盘
Enter

pressed
事件,相应键盘
space(
空格键
)

pressed

Released
一起的事件。要让
JButton
响应事件,最好是用

ActionListener
监听事件。例如:我做的
dlg_select_server
.java里响应了鼠标双击事件
(

e.getClickCount() == 2
),它包含了两个
Pressed

Released
动作,但

getClickCount
只知道鼠标两个Pressed
事件,响应后会关闭该窗口,而最后一次
Released
动作却由调用

dlg_select_server
.java的类中事件获得,所以它将响应获得的事件。

 

2009
7

24

11:26:35

1. 
DefaultMutableTreeNode
的一点理解:一个字段
userObject
,或者
getUserObject()
得到的是使用这个树节点的对象,可以是
String

Object
等。

2. 
TableModelEvent

TableModelEvent 用于通知侦听器某一表模型已发生更改。

 

3. 
JTreeModel

若代码更改了树模型,
那么树必须得到通知,这样它就能够对自己进行刷新。该树将把自己作为一个
TreeModelListener
添加给树模型。因此,该模型必须支持下面这些通常的监听管理方法:

V
oid addTreeModelListener(TreeModelListener l);

V
oid removeTreeModelListener(TreeModelListener l);

当该树模型修改树的内容时,它要条用TreeModelListener
接口的下面四个方法:

V
oid treeNodeschanged(TreeModelEvent e)

V
oid treeNOdesInserted(TreeModelEvent e)

V
oid treeNodesRemoved(TreeModelEvent e)

V
oid treeStructurechanged(TreeModelEvent e);

TreeModelEvent对象用于描述发生更改的位置。对描述插入事件或者删除事件的树模型事件进行汇编的具体细节。

EventListenerList用于手机监听器。

 

2009
7

26

9:58:35

1. 
ItemListener,接收项事件的侦听器接口。特别适于处理项事件的类实现此接口。如
JCheckBox
。也就是是否选中
jCheckBox
接受
ItemListener
监听 

抱歉!评论已关闭.