NO,调用java 的绘制函数、
java绘制函数调用谁?
@LiloT: jdk已经封装好了,这个你不用关心,如果你需要重绘那你重写相关函数即可、‘
你要明白java跑在jvm里面,根本不用调用win.这个就是跨平台、如果按你说的,我要是移植到linux平台,那么调用win函数?你觉得会有win函数嘛?
内部实现通过类似opengl这样东西实现
Java SWT不是在底层调用windowAPI吗?
(2) swing的图形界面自己绘制 这句话什么意思?
package test; import java.awt.Button; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Round extends Frame implements ActionListener { TextField t1, t2, t3, t4; Button b1; Button btnExit; public Round() { setLayout(new FlowLayout()); t1 = new TextField(20); t1.setBackground(Color.orange); t2 = new TextField(20); t2.setBackground(Color.orange); t3 = new TextField(20); t3.setBackground(Color.orange); t4 = new TextField(20); t4.setBackground(Color.orange); b1 = new Button("计算"); btnExit = new Button("退出"); add(new Label("输入圆的半径:")); add(t1); add(new Label("得出圆的直径:")); add(t2); add(new Label("得出圆的面积:")); add(t3); add(new Label("得出圆的周长:")); add(t4); add(b1); add(btnExit); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); b1.addActionListener(this); btnExit.addActionListener(this); setVisible(true); setBounds(200, 200, 200, 300); validate(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == b1) { double temp, r, a, c; temp = Float.parseFloat(t1.getText()); r = 2 * temp; a = 3.14 * temp * temp; c = 2 * 3.14 * temp; t2.setText(String.valueOf(r)); t3.setText(String.valueOf(a)); t4.setText(String.valueOf(c)); } if (e.getSource() == btnExit) { System.exit(0); } } public static void main(String args[]) { new Round(); } }
Java本身有内置的绘制函数可用。我觉得这个跟windows是没有关系的,因为java是跨平台的,不止能在Windows上运行,还能在比如Linux上运行。你可以看看这段代码,希望对你有帮助。
Java SWT不是在底层调用windowAPI吗?