THE FOURTEENTH DAY

    今天星期四,参加培训的第十四天,像往常一样,早上起床吃饭,吃的肯德基,一个蛋,然后开始看书,看的Swing的内容,jframe框架,jpanel面板,jbutton按钮,还有布局管理器,流局,flowlayout, 网格布局gridlayout,五区布局borderlayout.

    

  1. public JframeTest() {
  2. LayoutManager layoutManager = new FlowLayout();
  3. setLayout(new FlowLayout(FlowLayout.LEFT,10,20));
  4. // setLayout(new FlowLayout(FlowLayout.RIGHT,0,0));
  5. add(new JLabel("first Name"));
  6. add(new JTextField(8));
  7. add(new JLabel("MI"));
  8. add(new JTextField(1));
  9. add(new JLabel("last Name"));
  10. add(new JTextField(8));
  11. }
  12. public JframeTest() {
  13. setLayout(new GridLayout(6, 2,5,5));//默认根据行数匹配列数,没有行数,根据列数匹配行数 (风格)
  14. add(new JLabel("first Name"));
  15. add(new JTextField(8));
  16. add(new JLabel("MI"));
  17. add(new JTextField(1));
  18. add(new JLabel("last Name"));
  19. add(new JTextField(8));
  20. }
  21. public JframeTest() {
  22. setLayout(new BorderLayout(5,10));//默认根据行数匹配列数,没有行数,根据列数匹配行数 (风格)
  23. add(new JButton("East"),BorderLayout.EAST);
  24. add(new JButton("South"),BorderLayout.SOUTH);
  25. add(new JButton("West"),BorderLayout.WEST);
  26. add(new JButton("North"),BorderLayout.NORTH);
  27. add(new JButton("Center"),BorderLayout.CENTER);
  28. add(new JTextField(8));
  29. }

设置图标图片:

frame.setIconImage(Toolkit.getDefaultToolkit().createImage("src/image/logo3.jpg"));

设置背景图片:

  1. public void init() {
  2. ImageIcon img = new ImageIcon("src/image/他的妃.jpg");
  3. JLabel j = new JLabel(img);
  4. // System.out.println(Integer.MIN_VALUE);
  5. // System.out.println(this.getLayeredPane().getWidth());
  6. this.getLayeredPane().add(j, new Integer(Integer.MIN_VALUE));
  7. j.setBounds(0, 0, (int)this.getSize().getWidth(),(int)this.getSize().getHeight());
  8. Container container = this.getContentPane();
  9. ((JPanel) container).setOpaque(false);
  10. }

至于怎么去让背景随着窗口变大变小还没做出来,好像要用什么repaint ,还有触发事件什么的,一直在找如何实现,但是没有成功。算了,明天再说了,明天应该也做不到,那就再说了,反正也只能先这样了,

    然后,linkedlist队列,先进先出,栈后进先出,linkledist   .pop 取出第一个元素并且删除。

    今天 ,讲的是面向对象,继承,多态,封装,还有final  static 的用法, .equals的重写,方法的重载与重写,还有别的什么,忘记了,static{} 静态代码块,类加载的时候执行一次,且只执行一次,然后晚上做了斗地主,没做完,很复杂就对了,代码如下:

 
  1. public class Operator {
  2. public static void main(String[] args) {
  3. List<Poker> pokerList = new ArrayList<Poker>();
  4. pokerList = createPokers();
  5. // for(Poker poker:pokerList) {
  6. // System.out.println(poker.getNumber());
  7. // System.out.println(poker.getCorlor());
  8. // }
  9. Farmer farmer1 = new Farmer();
  10. Farmer farmer2 = new Farmer();
  11. Landlord landlord = new Landlord();
  12. givePokers(pokerList,farmer1,farmer2,landlord);
  13. boolean A = (farmer1.getPokerList().size()==0);
  14. boolean B = (farmer2.getPokerList().size()==0);
  15. boolean C = (landlord.getPokerList().size()==0);
  16. System.out.println(A);
  17. System.out.println(B);
  18. System.out.println(C);
  19. while(!A&&!B&&!C) {
  20. landlordPopPokers(landlord);
  21. A = (landlord.getPokerList().size()==0);
  22. if(A) {
  23. System.out.println("地主胜!!!");
  24. break;
  25. }
  26. farmer1PopPokers(farmer1);
  27. B = (farmer1.getPokerList().size()==0);
  28. if(B) {
  29. System.out.println("农民胜!!!");
  30. break;
  31. }
  32. farmer2PopPokers(farmer2);
  33. C = (farmer2.getPokerList().size()==0);
  34. if(C) {
  35. System.out.println("农民胜!!!");
  36. break;
  37. }
  38. }
  39. }
  40. /**
  41. * 创建一幅扑克牌
  42. *
  43. * @return
  44. */
  45. public static List<Poker> createPokers() {
  46. List<Poker> pokerList = new ArrayList<Poker>();
  47. for (int i = 1; i < 15; i++) {
  48. for (int k = 1; k < 5; k++) {
  49. if (i == 14 && k == 3) {
  50. break;
  51. }
  52. Poker poker = new Poker(i, k);
  53. pokerList.add(poker);
  54. }
  55. }
  56. return pokerList;
  57. }
  58. /**
  59. * 发牌
  60. * @param pokerList
  61. * @param farmer1
  62. * @param farmer2
  63. * @param landlord
  64. */
  65. public static void givePokers(List<Poker> pokerList,Farmer farmer1,Farmer farmer2,Landlord landlord) {
  66. HashSet<Integer> number = new HashSet<Integer>();
  67. // int[] landlord = new int[20];
  68. // int[] farmer1 = new int[17];
  69. // int[] farmer2 = new int[17];
  70. // List<Poker> landPokerList = new ArrayList<Poker>();
  71. // List<Poker> farmPokerList1 = new ArrayList<Poker>();
  72. // List<Poker> farmPokerList2 = new ArrayList<Poker>();
  73. while (number.size() < 54) {
  74. int oldSize = number.size();
  75. int temp = (int) (Math.random() * 54);
  76. number.add(temp);
  77. int currentSize = number.size();
  78. if(currentSize<=20&&(oldSize<currentSize)) {
  79. // landlord[oldSize]=temp;
  80. System.out.println(temp);
  81. landlord.getPokerList().add(pokerList.get(temp));
  82. } else if(currentSize<=37&&(oldSize<currentSize)){
  83. // farmer1[oldSize]=temp;
  84. System.out.println(temp);
  85. farmer1.getPokerList().add(pokerList.get(temp));
  86. } else if(currentSize<=54&&(oldSize<currentSize)) {
  87. System.out.println(temp);
  88. farmer2.getPokerList().add(pokerList.get(temp));
  89. }
  90. // System.out.println(number.size());
  91. }
  92. farmer1.getPokerList().sort(new Comparator<Poker> () {
  93. @Override
  94. public int compare(Poker o1, Poker o2) {
  95. // TODO Auto-generated method stub
  96. return o1.getId()-o2.getId();
  97. }
  98. });
  99. farmer2.getPokerList().sort(new Comparator<Poker> () {
  100. @Override
  101. public int compare(Poker o1, Poker o2) {
  102. // TODO Auto-generated method stub
  103. return o1.getId()-o2.getId();
  104. }
  105. });
  106. landlord.getPokerList().sort(new Comparator<Poker> () {
  107. @Override
  108. public int compare(Poker o1, Poker o2) {
  109. // TODO Auto-generated method stub
  110. return o1.getId()-o2.getId();
  111. }
  112. });
  113. // for (int a : number) {
  114. // System.out.println(a);
  115. // }
  116. }
  117. /**
  118. * 地主出牌
  119. * @param landlord
  120. */
  121. public static List<Poker> landlordPopPokers(Landlord landlord) {
  122. System.out.println("地主你的牌为:");
  123. int currentSize = landlord.getPokerList().size();
  124. for(int i = 0;i<currentSize;i++) {
  125. Poker poker = landlord.getPokerList().get(i);
  126. System.out.println((i+1)+":"+poker.getCorlor()+poker.getNumber());
  127. }
  128. System.out.println("请选择你要出牌的序号,并以0结束");
  129. Scanner input = new Scanner(System.in);
  130. List<Poker> currentList = new ArrayList<Poker>();
  131. while(true) {
  132. int chooseNum = input.nextInt();
  133. if(chooseNum==0) {
  134. break;
  135. }
  136. currentList.add(landlord.getPokerList().get(chooseNum-1));
  137. }
  138. landlord.getPokerList().removeAll(currentList);
  139. return currentList;
  140. }
  141. /**
  142. * 农民1出牌
  143. * @param farmer1
  144. */
  145. public static List<Poker> farmer1PopPokers(Farmer farmer1) {
  146. System.out.println("农民一号你的牌为:");
  147. int currentSize = farmer1.getPokerList().size();
  148. for(int i = 0;i<currentSize;i++) {
  149. Poker poker = farmer1.getPokerList().get(i);
  150. System.out.println((i+1)+":"+poker.getCorlor()+poker.getNumber());
  151. }
  152. System.out.println("请选择你要出牌的序号,并以0结束");
  153. Scanner input = new Scanner(System.in);
  154. List<Poker> currentList = new ArrayList<Poker>();
  155. while(true) {
  156. int chooseNum = input.nextInt();
  157. if(chooseNum==0) {
  158. break;
  159. }
  160. currentList.add(farmer1.getPokerList().get(chooseNum));
  161. }
  162. farmer1.getPokerList().removeAll(currentList);
  163. return currentList;
  164. }
  165. /**
  166. * 农民二号出牌
  167. * @param farmer2
  168. */
  169. public static List<Poker> farmer2PopPokers(Farmer farmer2) {
  170. System.out.println("农民二号你的牌为:");
  171. int currentSize = farmer2.getPokerList().size();
  172. for(int i = 0;i<currentSize;i++) {
  173. Poker poker = farmer2.getPokerList().get(i);
  174. System.out.println((i+1)+":"+poker.getCorlor()+poker.getNumber());
  175. }
  176. System.out.println("请选择你要出牌的序号,并以0结束");
  177. Scanner input = new Scanner(System.in);
  178. List<Poker> currentList = new ArrayList<Poker>();
  179. while(true) {
  180. int chooseNum = input.nextInt();
  181. if(chooseNum==0) {
  182. break;
  183. }
  184. currentList.add(farmer2.getPokerList().get(chooseNum));
  185. }
  186. farmer2.getPokerList().removeAll(currentList);
  187. return currentList;
  188. }

Poker构造方法:

public Poker(Integer i, Integer j) {
		if(i==14&&j==1) {
			number="joker";
			corlor="black";
			id=i;
			return;
			}
		 if(i==14&&j==2) {
			number="joker";
			corlor="red";
			id=i;
			return;
		} 
		if (i == 1) {
			number = "A";
			id=12;
		} else if (i == 11) {
			number = "J";
			id=9;
		} else if (i == 12) {
           number="Q";
           id=10;
		} else if( i==13) {
			number="K";
			id=11;
		}else  {
			if(i==2) {
				id=13;
			}else {
				id=i-2;
			}
			number=i.toString();
		}
		if(j==1) {
			corlor="black";
		}
		if(j==2) {
			corlor="red";
		}
		if(j==3) {
			corlor="plum";
		}
		if(j==4) {
			corlor="square";
		}
总之,很是渣就对了,无所谓了,就这样吧,越来越不像日记了,为什么这么说呢,因为代码好多,字打的很少,算了也无所谓,嗯,是这样的,没别的了,好,结束。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值