微博上各種星座排名泛濫了,寫個程序湊個熱鬧。。
package go.derek;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.swing.*;
class Rank
{
JFrame jf=new JFrame("星座各種排名生成器");
JLabel jl1=new JLabel("請輸入排行標題:");
JLabel jl2=new JLabel("排行情況:");
JTextField jt=new JTextField(20);
JTextArea ja=new JTextArea(11,16);
JButton 隨機生成=new JButton("隨機生成");
JButton 繼續忽悠=new JButton("繼續忽悠");
List<String> stars=new ArrayList<>();
List<String> rk=new ArrayList<>();
Box y=Box.createVerticalBox();
Box x1=Box.createHorizontalBox();
Box x2=Box.createHorizontalBox();
Box x3=Box.createHorizontalBox();
String result="";
void init()
{
x1.add(jl1);
x1.add(jt);
x1.add(Box.createHorizontalStrut(10));
x2.add(jl2);
x2.add(ja);
x2.add(Box.createHorizontalStrut(10));
x3.add(Box.createHorizontalStrut(18));
x3.add(隨機生成);
x3.add(Box.createHorizontalStrut(10));
x3.add(繼續忽悠);
y.add(Box.createVerticalStrut(28));
y.add(x1);
y.add(Box.createVerticalStrut(28));
y.add(x2);
y.add(Box.createVerticalStrut(28));
y.add(x3);
y.add(Box.createVerticalStrut(28));
jf.add(y);
jf.pack();
jf.setVisible(true);
stars.add("巨蟹座,");
stars.add("白羊座,");
stars.add("摩羯座,");
stars.add("處女座,");
stars.add("天蝎座,");
stars.add("雙魚座,");
stars.add("射手座,");
stars.add("獅子座,");
stars.add("雙子座,");
stars.add("金牛座,");
stars.add("天秤座,");
stars.add("水瓶座,");
rk.add("第一名:");
rk.add("第二名:");
rk.add("第三名:");
rk.add("第四名:");
rk.add("第五名:");
rk.add("第六名:");
rk.add("第七名:");
rk.add("第八名:");
rk.add("第九名:");
rk.add("第十名:");
rk.add("第十一名:");
rk.add("第十二名:");
隨機生成.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(!(ja.getText().equals("")))
ja.setText("");
else{
//stars是由十二星座構成的一個有序集合,下面這句代碼是將這個有序集合隨機排序
Collections.shuffle(stars);
//用循環遍歷新生成的排名
for(int i=0;i<stars.size();i++)
{
String rt=rk.get(i)+stars.get(i);
if(i==2)
rt+="\n";
if(i==5)
rt+="\n";
if(i==8)
rt+="\n";
result+=rt;
}
String jt1=jt.getText()+"\n";
result=jt1+result;
ja.setText(result);
result="";
}
}
});
繼續忽悠.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jt.setText("");
ja.setText("");
result="";
}
});
}
void initFrame()
{
JPanel GImage = new JPanel()
{
private static final long serialVersionUID = 1L;
protected void paintComponent(Graphics g)
{
ImageIcon icon = new ImageIcon("D:\\sky.jpg");
Image img = icon.getImage();
g.drawImage(img, 0, 0, icon.getIconWidth(),
icon.getIconHeight(), icon.getImageObserver());
jf.setSize(356,398);
}
};
jf.add(GImage);
jf.pack();
jf.setVisible(true);
}
public static void main(String[] args)
{
Rank rk=new Rank();
rk.init();
rk.initFrame();
}
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

