Javaコアパッケージのパッケージアクセス可能メンバーへのアクセス
Javaコアパッケージのパッケージアクセス可能なメンバーにアクセスする方法について説明します.パケットアクセス性のメンバーおよびメソッドとは、メンバーまたはメソッドを宣言するときにpublic、protected、privateなどのアクセス修飾語を付けないメンバーおよびメソッドを指します.パケットアクセス可能なメンバーは、同じパケット内の他のクラスにアクセスできます.この文書では、BorderLayoutのcenter変数を例に、javaコアパッケージのパッケージアクセス可能なメンバーにアクセスする方法について簡単に説明します.
1、BorderLayoutのcenter変数にアクセスするために、AwtHelperクラスを作成し、そのパッケージをjavaと宣言します.awt、つまりBorderLayoutがいるパッケージと同じ名前です.コードは次のとおりです.
2、AwtHelper.JAvaコンパイル後、このクラスを起動クラスパス実行コマンドjava-Xbootclasspath/p:.java.awt.AwtHelper
1、BorderLayoutのcenter変数にアクセスするために、AwtHelperクラスを作成し、そのパッケージをjavaと宣言します.awt、つまりBorderLayoutがいるパッケージと同じ名前です.コードは次のとおりです.
package java.awt;
import javax.swing.JButton;
import javax.swing.JFrame;
public class AwtHelper {
public static Component getChild(BorderLayout layout,String key) {
Component result = null;
if(key == BorderLayout.NORTH)
result = layout.north;
else if(key == BorderLayout.SOUTH)
result = layout.south;
else if(key == BorderLayout.EAST)
result = layout.east;
else if(key == BorderLayout.WEST)
result = layout.west;
else if(key == BorderLayout.CENTER)
result = layout.center;
return result;
}
public static void main(String[] args) {
Container container = createTestContainer();
if( container.getLayout() instanceof BorderLayout) {
BorderLayout layout = (BorderLayout)container.getLayout();
Component center = AwtHelper.getChild(layout, BorderLayout.CENTER);
System.out.println("Center Component = " + center);
}
}
public static Container createTestContainer() {
JFrame frame = new JFrame();
Container con = frame.getContentPane();
con.setLayout(new BorderLayout());
con.add(new JButton("Center"),BorderLayout.CENTER);
return con;
}
}
2、AwtHelper.JAvaコンパイル後、このクラスを起動クラスパス実行コマンドjava-Xbootclasspath/p:.java.awt.AwtHelper
Center Component = javax.swing.JButton[,0,0,0x0,invalid,alignmentX=0.0,alignment
Y=0.5,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1adc30,f
lags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,dis
abledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom
=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,
rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Center,defaultCapable=tru
e]