忽然想起好久没接触的JAVA,基本上已经忘得精光,嗯,装个打发打发时间吧。
想直接通过yum装个Eclipse,让Yum帮我搞好一切配置,却发现Fedora自带的Eclipse依赖了太多太多东西,三分之二以上的东西都是我不认识的。算了。还是自己一个一个搞吧。不过还是通过yum安装,至少不用自己去配路径。$sudo yum install java-1.6.0-opensdk java-1.6.0-opensdk-javadoc。安装好后执行$java -version,版本号出来了,很好,路径配置好了。在网上抄了个小例子:
想直接通过yum装个Eclipse,让Yum帮我搞好一切配置,却发现Fedora自带的Eclipse依赖了太多太多东西,三分之二以上的东西都是我不认识的。算了。还是自己一个一个搞吧。不过还是通过yum安装,至少不用自己去配路径。$sudo yum install java-1.6.0-opensdk java-1.6.0-opensdk-javadoc。安装好后执行$java -version,版本号出来了,很好,路径配置好了。在网上抄了个小例子:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class HelloWorld extends JFrame {
private JLabel jLabel;
private JTextField jTextField;
private JButton jButton;
public HelloWorld() {
super();
this.setSize(300, 200);
this.getContentPane().setLayout(null);
this.add(getJLabel(), null);
this.add(getJTextField(), null);
this.add(getJButton(), null);
this.setTitle("Hello World!");
}
private javax.swing.JLabel getJLabel() {
if (jLabel == null) {
jLabel = new javax.swing.JLabel();
jLabel.setBounds(34,49,53,18);
jLabel.setText("Name:");
}
return jLabel;
}
private javax.swing.JTextField getJTextField() {
if (jTextField == null) {
jTextField = new javax.swing.JTextField();
jTextField.setBounds(96, 49, 160, 20);
}
return jTextField;
}
private javax.swing.JButton getJButton() {
if (jButton == null) {
jButton = new javax.swing.JButton();
jButton.setBounds(103, 110, 71, 27);
jButton.setText("OK");
}
return jButton;
}
public static void main(String[] args) {
HelloWorld w = new HelloWorld();
w.setVisible(true);
w.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
执行$javac HelloWorld.java。汗,才发现装的其实是个jre。诅咒这个打包的人,没事叫啥openjdk,叫openjre不是很好?又再yum search java,查到个java-1.6.0-openjdk-devel,凭第六感,觉得这个应该才是j2dk,安装下。再执行$javac HelloWorld.java,效果是没有输出。通常说no news is good news 大概就是指这个吧。我知道安装对了。再试着往HelloWorld的JTextField输入,嘿,又让我大汗一把。中文全变成了“口口口口”。字体问题!执行下$rpm -q --filesbypkg java-1.6.0-openjdk-1.6.0.0.i686,发现jre在/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre下,又发现下面连个Fonts目录都没。只好自己建一个$sudo mkdir fonts。再进入fonts,$sudo mkdir fallback。然后把系统的字体都软连接到fallback下:$sudo ln -s /usr/share/fonts/*/* ./fallback。因为Fedora的字体都通过目录分类,不像win下的字体一样都放在一起,所以这里用/usr/share/fonts/*/*,第一个*代表任何目录,第二个*代表任何文件。这时它可能会提示某些文件没权限。懒得理它。能用就好。重新执行java HelloWorld,输入中文看看。