Để bắt đầu, chúng tôi tạo ra một lớp tiểu của JPanel:
class GraphicsPanel extends javax.swing.JPanel
{
...
}
Tạo ra một phương thức getInstance () để có được một thể hiện của bảng này.
/ /
public static GraphicsPanel getInstance ()
{
GraphicsPanel panel = new GraphicsPanel ();
panel.setBackground (new java.awt.Color ( 255 , 255 , 128 ));
panel.setPreferredSize (new java.awt.Dimension ( 200 , 200 ));
return panel;
}
Ghi đè lên các phương thức paintComponent () để vẽ thành phần trong cách tùy chỉnh của chúng tôi.
/ / Ghi đè
public void paintComponent (java.awt.Graphics Graphics)
{
super paintComponent (Graphics);. / / sơn nền
/ / Nhận được bảng điều khiển dimemsion
int w = getWidth (); / / nên được 200
int h = getHeight (); / / nên được 200
/ / Tạo một đối tượng Graphics2D để vẽ hình dạng
java.awt.Graphics2D gr = (java.awt.Graphics2D) đồ họa;
gr.setStroke ( new java.awt.BasicStroke (5 )); / / thiết lập bút chiều rộng đến 5 điểm ảnh
gr.setColor ( new java.awt.Color (255,0,0 )); / / thiết lập màu để RED
gr.drawLine (0,0,w, h); / / vẽ đường chéo
gr.drawArc (0,0,w,h,0,360); / / vẽ vòng tròn
}
Cuối cùng, tạo ra một phương pháp main() để mở một cửa sổ hiển thị GraphicsPanel.
4. Code Java vẽ đường thẳng và đường tròn trong panel
/*
* File : GraphicsPanel.java
* Author :http://lap-trinh-may-tinh.blogspot.com/
* Description :
* Draw line and circle in a panel (vẽ đường thẳng và đường tròn trong panel).
* Tested with : JDK 1.6
******************************************************************************/
class GraphicsPanel extends javax.swing.JPanel
{
public static GraphicsPanel getInstance()
{
GraphicsPanel panel=new GraphicsPanel();
panel.setBackground(new java.awt.Color(255,255,128));
panel.setPreferredSize(new java.awt.Dimension(200,200));
return panel;
}
// override the paint method
public void paintComponent(java.awt.Graphics graphics)
{
super.paintComponent(graphics); // paint background
// get panel dimemsion
int w=getWidth(); // should be 200
int h=getHeight(); // should be 200
// create a Graphics2D object for drawing shape
java.awt.Graphics2D gr=(java.awt.Graphics2D) graphics;
gr.setStroke(new java.awt.BasicStroke(5)); // set pen width to 5 pixels
gr.setColor(new java.awt.Color(255,0,0)); // set Color to RED
gr.drawLine(0,0,w,h); // draw diagonal
gr.drawArc(0,0,w,h,0,360); // draw circle
}
public static void main(String[] args) throws Exception
{
// create frame
javax.swing.JFrame frame=new javax.swing.JFrame();
frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
frame.setTitle("Macteki Sample");
// create graphics panel and add it to the frame
GraphicsPanel panel=GraphicsPanel.getInstance();
frame.add(panel); // panel size is 200x200, see getInstance()
frame.pack(); // this will correctly set the size of frame
// so that it is big enough to hold the panel
frame.setVisible(true);
}
}
[Tải code chương trình tại đây - Lưu ý: Sau 5s, Click Bỏ qua quảng cáo (Skin Ad)]
[TxT]
0 nhận xét:
Đăng nhận xét