📄 qibla.java
字号:
import java.awt.*;import javax.swing.event.*;import java.awt.event.*;import javax.swing.*;import java.text.NumberFormat;public class qibla extends JPanel implements ListSelectionListener{JComboBox combomon = new JComboBox(); int yy=-44,yaxis=70; private JList list;//private DefaultListModel listModel;double longitude=73.2,latitude=34.13; ImageIcon kabba1 = new ImageIcon("images/kabba.gif"); JLabel kabba = new JLabel(kabba1); public qibla() { setBackground(new java.awt.Color (180,180, 150)); String[] cityn = { "Abbottabad","Bahawalpur","Bannu","Chakwal","Dera Ismail Khan","Faisalabad","Gilgit","Hyderabad","Islamabad","Jhelum","Karachi","Lahore","Multan" ,"Miani","Malakwal","Peshawar","Pind Dadan Khan","Sargodha","Rawalpindi","Quetta","Wah" };//combomon.addItem(String.valueOf(monthc[month-1]));setLayout(null);/* for(int mm=0;mm<=2;mm++) combomon.addItem(String.valueOf(mon[mm])); combomon.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);combomon.setBounds(330,100,150,40); combomon.setBackground(new java.awt.Color (50,50,150));combomon.setForeground(new java.awt.Color (200,220,150));combomon.addActionListener(this);add(combomon,BorderLayout.CENTER);*/ /*listModel = new DefaultListModel(); listModel.addElement("Alison Huml"); listModel.addElement("Kathy Walrath"); listModel.addElement("Lisa Friendly"); listModel.addElement("Mary Campione"); listModel.addElement("Alison Huml"); listModel.addElement("Kathy Walrath"); listModel.addElement("Lisa Friendly"); listModel.addElement("Mary Campione"); listModel.addElement("Alison Huml"); listModel.addElement("Kathy Walrath"); listModel.addElement("Lisa Friendly"); listModel.addElement("Mary Campione"); listModel.addElement("Alison Huml"); listModel.addElement("Kathy Walrath"); listModel.addElement("Lisa Friendly"); listModel.addElement("Mary Campione");*/ //Create the list and put it in a scroll pane kabba.setBounds(30,10+yaxis,150,170); add(kabba); list = new JList(cityn); list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); list.setSelectedIndex(0); list. setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); list.addListSelectionListener(this); // list.combomon.addActionListener(this); JScrollPane listScrollPane = new JScrollPane(list); list.setBackground(new java.awt.Color (0,40,20)); list.setForeground(new java.awt.Color (240,240,200)); listScrollPane.setBounds(30,200+yaxis,150,180); //valueChanged(getSelectionModel(this));add(listScrollPane, BorderLayout.CENTER); //Container contentPane = getContentPane(); // contentPane.add(listScrollPane, BorderLayout.CENTER); String city=(String)list.getSelectedValue(); //list.valueChanged(this); } public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; double lamda,lamda_not,phe,phe_not;double l,p,q,i; lamda_not=39.75; phe_not=21.45; //setBackground(new java.awt.Color (0,0, 0)); lamda=longitude;phe=latitude; l=lamda-lamda_not;p=StrictMath.sin(StrictMath.toRadians(phe))/StrictMath.tan(StrictMath.toRadians(l));q=StrictMath.cos(StrictMath.toRadians(phe))*StrictMath.tan(StrictMath.toRadians(phe_not))/StrictMath.sin(StrictMath.toRadians(l));i=StrictMath.toDegrees(p-q); g.setColor(new java.awt.Color (80,140,80)); g.fillRoundRect(20,55+yy+yaxis,170,168,15,15); g.setColor(new java.awt.Color (20,50,50)); g.fillOval(425,110+yy+yaxis,230,230); g.setColor(new java.awt.Color (0,0,0)); g.fillOval(435,120+yy+yaxis,210,210); g.drawString("North",520,60+yaxis); g.drawString("South",520,310+yaxis); g.drawString("West",385,190+yaxis); g.drawString("East",660,190+yaxis); g.setColor(new java.awt.Color (250,250,250)); g.fillOval(535,225+yy+yaxis,10,10); g.drawLine(435,185+yaxis,643,185+yaxis ); g.drawLine(539,75+yaxis,539,285+yaxis ); int d=Math.round(Math.round(i)); int s=180+d; g.setColor(new java.awt.Color (250,250,240));g. fillArc(440, 86+yaxis,200,200,s,2);g. fillArc(440, 86+yaxis,200,200+1,s,2);/*double ss=45-(i/2); int xs,ys; xs = (int) (Math.cos(ss* Math.PI / 30 - Math.PI / 2) * 75 + 540); ys = (int) (Math.sin(ss * Math.PI / 30 - Math.PI / 2) *75 + 270); g.drawLine(540,270, xs, ys);*/ /*g.setColor(new java.awt.Color (20,50,50)); g.fillRoundRect(70,250+yy,300,100,15,15); g.setColor(new java.awt.Color (00,00,0)); g.fillRoundRect(80,260+yy,280,80,15,15);*/ String degree=String.valueOf(90+i); String minn=String.valueOf(degree).substring(String.valueOf(degree).lastIndexOf("."));String deg=String.valueOf(degree).substring(0,String.valueOf(degree).lastIndexOf(".")); int min=Math.round(Math.round(Double.parseDouble(minn)*60));g.setColor( new java.awt.Color (10,20, 40));g.setFont(new java.awt.Font ("Arial Black",0,16)); g.drawString(deg+" Degrees, "+min+" Minutes West From North",350,350+yaxis); g.setColor( new java.awt.Color (10,50, 40));g.setFont(new java.awt.Font ("Monotype Corsiva",2,40)); g.drawString("QIBLA",260,50+yaxis); g.setColor( new java.awt.Color (10,50, 40));g.setFont(new java.awt.Font ("Monotype Corsiva",2,40)); g.drawString("DIRECTION",210,100+yaxis); g.setColor( new java.awt.Color (10,50, 40));g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("Select City / Town",30,195+yaxis); } /*public void actionPerformed(ActionEvent e) { String city=(String)combomon.getSelectedItem(); if(city=="Rawalpindi") { longitude=73.66; latitude=33.61; } if(city=="Lahore") { longitude=74.32; latitude= 31.56; } if(city=="Karachi") { longitude=67.01; latitude=24.87; } repaint(); }*/ public void valueChanged(ListSelectionEvent e) { String city=(String)list.getSelectedValue(); /// "Islamabad","Dahkah","Newyork","Canberra" if(city=="Rawalpindi") { longitude=73.66; latitude=33.61; } if(city=="Lahore") { longitude=74.32; latitude= 31.59; } if(city=="Karachi") { longitude=67.01; latitude=24.87; } if(city=="Abbottabad") { longitude=73.2; latitude=34.13; } if(city=="Bahawalpur") { longitude=71.67; latitude=29.38; } if(city=="Bannu") { longitude=70.58; latitude=33.02; } if(city=="Chakwal") { longitude=72.85; latitude=32.95; } if(city=="Dera Ismail Khan") { longitude=70.88; latitude=31.83; } if(city=="Gilgit") { longitude=74.28; latitude=35.9; } if(city=="Faisalabad") { longitude=73.1; latitude= 31.42; } if(city=="Hyderabad") { longitude=68.35; latitude=25.38; } if(city=="Islamabad") { longitude=73.08; latitude=33.72; } if(city=="Jhelum") { longitude=73.73; latitude=32.93; } if(city=="Multan") { longitude=71.47; latitude= 30.02; } if(city=="Miani") { longitude=73.06; latitude=32.53; } if(city=="Malakwal") { longitude=73.22; latitude=32.55; } if(city=="Pind Dadan Khan") { longitude=73.05; latitude=32.06; } if(city=="Peshawar") { longitude=71.53; latitude=34.02; } if(city=="Sargodha") { longitude=72.66; latitude= 32.08; } if(city=="Quetta") { longitude=67.0; latitude= 30.25; } if(city=="Wah") { longitude=72.72; latitude= 33.08; } repaint(); } public static void main(String[] args) { JFrame frame = new JFrame("Clock"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.getContentPane().add(new qibla(), BorderLayout.CENTER); frame. setSize(800,500); frame.setVisible(true); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -