java 无法画线为什么?求解答
importjava.awt.*;importjavax.swing.*;publicclasstest{publicvoidFF(JPanelpanel){Graphi...
import java.awt.*;
import javax.swing.*;
public class test {
public void FF(JPanel panel)
{
Graphics g=panel.getGraphics();
g.drawLine(12, 13, 55, 66);
}
public static void main(String[] args) {
JFrame frame=new JFrame();
frame.setPreferredSize(new Dimension(300,250));
JPanel primary=new JPanel(null);
primary.setBackground(Color.cyan);
JLabel l1=new JLabel();
l1.setText("wenzi");
l1.setBounds(150, 100, 50, 200);
// Graphics g=primary.getGraphics();
// g.drawLine(12, 13, 55, 66);
//frame.add(l1);
primary.add(l1);
frame.getContentPane().add(primary);
frame.pack();
frame.setLayout(null);
frame.setVisible(true);
frame.setTitle("我的第一个JAVA程序");
}
} 展开
import javax.swing.*;
public class test {
public void FF(JPanel panel)
{
Graphics g=panel.getGraphics();
g.drawLine(12, 13, 55, 66);
}
public static void main(String[] args) {
JFrame frame=new JFrame();
frame.setPreferredSize(new Dimension(300,250));
JPanel primary=new JPanel(null);
primary.setBackground(Color.cyan);
JLabel l1=new JLabel();
l1.setText("wenzi");
l1.setBounds(150, 100, 50, 200);
// Graphics g=primary.getGraphics();
// g.drawLine(12, 13, 55, 66);
//frame.add(l1);
primary.add(l1);
frame.getContentPane().add(primary);
frame.pack();
frame.setLayout(null);
frame.setVisible(true);
frame.setTitle("我的第一个JAVA程序");
}
} 展开
3个回答
展开全部
好像你的程序逻辑不是很清晰呀
看我弄的:
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame{
JLabel l1=null;
public Test()
{
setTitle("我的第一个JAVA程序");
l1=new JLabel();
l1.setText("wenzi");
l1.setBounds(150, 100, 50, 200);
this.add(l1);
setLayout(new FlowLayout());
setSize(400, 400);
setPreferredSize(new Dimension(300,250));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void paint(Graphics g)
{
super.paint(g);
g.drawLine(12, 13, 55, 66);
}
public static void main(String[] args) {
new Test();
}
}
图形用户界面的设计流程应该是:
图形用户界面:
1.声明组件(JButton_按钮,JPanel_容器,JLable_标签,JTextField_文本字段,JTextArea_多行文本框,
JPasswordField_密码框,JChecBox_多选按钮,JRadioButton_单选按钮,
JComboBox_拆分窗格,JScrollPane_复选框,JList_下拉列表)
2.创建
3.设置布局
4.添加组件
5.面板设置
绘图原理(1):
Component 类提供了两个和绘图相关最重要的方法:
1.Paint(Graphics g)绘图组件的外观
2.repaint()刷新组件的外观
当组件第一次在屏幕显示的时候,程序会自动的调用Paint()方法来绘制组件
绘图原理(2):
在以下情况Paint()将会调用:
1.窗口最小化,再最大化。
2.窗口的大小发生变化。
3.repaint函数被调用。
Graphics类中的常用方法:
画直线drawLine(int x1,int y1,int x2,int y2)
画矩形边框drawRect(int x,int y,int width,int height)
画椭圆边框drawOval(int x,int y,int width,int height)
画填充矩形fillRect(int x,int y,int width,int height)
画填充椭圆fillOval(int x,int y,int width,int height)
画图片drawImage(Image img,int x,int y)
画字符串drawString(String str,int x,int y)
设置画笔的字体setFont(Font font)
设置画笔的颜色setColor(Color c)
看我弄的:
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame{
JLabel l1=null;
public Test()
{
setTitle("我的第一个JAVA程序");
l1=new JLabel();
l1.setText("wenzi");
l1.setBounds(150, 100, 50, 200);
this.add(l1);
setLayout(new FlowLayout());
setSize(400, 400);
setPreferredSize(new Dimension(300,250));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void paint(Graphics g)
{
super.paint(g);
g.drawLine(12, 13, 55, 66);
}
public static void main(String[] args) {
new Test();
}
}
图形用户界面的设计流程应该是:
图形用户界面:
1.声明组件(JButton_按钮,JPanel_容器,JLable_标签,JTextField_文本字段,JTextArea_多行文本框,
JPasswordField_密码框,JChecBox_多选按钮,JRadioButton_单选按钮,
JComboBox_拆分窗格,JScrollPane_复选框,JList_下拉列表)
2.创建
3.设置布局
4.添加组件
5.面板设置
绘图原理(1):
Component 类提供了两个和绘图相关最重要的方法:
1.Paint(Graphics g)绘图组件的外观
2.repaint()刷新组件的外观
当组件第一次在屏幕显示的时候,程序会自动的调用Paint()方法来绘制组件
绘图原理(2):
在以下情况Paint()将会调用:
1.窗口最小化,再最大化。
2.窗口的大小发生变化。
3.repaint函数被调用。
Graphics类中的常用方法:
画直线drawLine(int x1,int y1,int x2,int y2)
画矩形边框drawRect(int x,int y,int width,int height)
画椭圆边框drawOval(int x,int y,int width,int height)
画填充矩形fillRect(int x,int y,int width,int height)
画填充椭圆fillOval(int x,int y,int width,int height)
画图片drawImage(Image img,int x,int y)
画字符串drawString(String str,int x,int y)
设置画笔的字体setFont(Font font)
设置画笔的颜色setColor(Color c)
展开全部
由于水平有限你的我看了半天找不出错来,我在你的基础上另写了个
你有时看着行你就看看,要不就另请高明吧
import java.awt.*;
import javax.swing.*;
public class Line extends JFrame{
public Line()
{
setPreferredSize(new Dimension(300,250));
pack();
PaintPanel pp= new PaintPanel();
add(pp);
setVisible(true);
setTitle("我的第一个JAVA程序");
}
public static void main(String[] args) {
new Line();
}
}
class PaintPanel extends JPanel{
JLabel l1=null;
public PaintPanel(){
setLayout(null);
l1=new JLabel();
l1.setText("wenzi");
l1.setBounds(150, 100, 50, 200);
add(l1);
}
public void paint(Graphics g) {
super.paint(g);
setBackground(Color.cyan);
g.drawLine(12, 13, 55, 66);
}
}
你有时看着行你就看看,要不就另请高明吧
import java.awt.*;
import javax.swing.*;
public class Line extends JFrame{
public Line()
{
setPreferredSize(new Dimension(300,250));
pack();
PaintPanel pp= new PaintPanel();
add(pp);
setVisible(true);
setTitle("我的第一个JAVA程序");
}
public static void main(String[] args) {
new Line();
}
}
class PaintPanel extends JPanel{
JLabel l1=null;
public PaintPanel(){
setLayout(null);
l1=new JLabel();
l1.setText("wenzi");
l1.setBounds(150, 100, 50, 200);
add(l1);
}
public void paint(Graphics g) {
super.paint(g);
setBackground(Color.cyan);
g.drawLine(12, 13, 55, 66);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一张图片添加几个链接,这个是不可以的 他们都是用PS切图的 是把整张图切成若干份,然后每张都添加的,有不懂的地方可以百度嗨我哦。 想要好的效果就要付出相应的时间..呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询